import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.multimedia.avsession.d.ts',
  content: "/*\n* Copyright (c) 2022-2024 Huawei Device Co., Ltd.\n* Licensed under the Apache License, Version 2.0 (the \"License\");\n* you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing, software\n* distributed under the License is distributed on an \"AS IS\" BASIS,\n* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n* See the License for the specific language governing permissions and\n* limitations under the License.\n*/\n/**\n * @file\n * @kit AVSessionKit\n */\nimport type { ErrorCallback, AsyncCallback, Callback } from './@ohos.base';\nimport { WantAgent } from './@ohos.wantAgent';\nimport { KeyEvent } from './@ohos.multimodalInput.keyEvent';\nimport image from './@ohos.multimedia.image';\nimport audio from './@ohos.multimedia.audio';\nimport { AVCastPickerState } from './@ohos.multimedia.avCastPickerParam';\nimport type media from './@ohos.multimedia.media';\nimport type Context from './application/BaseContext';\nimport type hdrCapability from './@ohos.graphics.hdrCapability';\n/**\n * @namespace avSession\n * @syscap SystemCapability.Multimedia.AVSession.Core\n * @since 9\n */\n/**\n * @namespace avSession\n * @syscap SystemCapability.Multimedia.AVSession.Core\n * @atomicservice\n * @since 12\n */\ndeclare namespace avSession {\n    /**\n     * Create an AVSession instance. An ability can only create one AVSession\n     * @param { Context } context - The context of application\n     * @param { string } tag - A user-defined name for this session\n     * @param { AVSessionType } type - The type of session {@link AVSessionType}\n     * @param { AsyncCallback<AVSession> } callback - async callback for AVSession.\n     * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n     * 2.Parameter verification failed.\n     * @throws { BusinessError } 6600101 - Session service exception.\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    function createAVSession(context: Context, tag: string, type: AVSessionType, callback: AsyncCallback<AVSession>): void;\n    /**\n     * Create an AVSession instance. An ability can only create one AVSession\n     * @param { Context } context - The context of application\n     * @param { string } tag - A user-defined name for this session\n     * @param { AVSessionType } type - The type of session {@link AVSessionType}\n     * @returns { Promise<AVSession> } Promise for AVSession\n     * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n     * 2.Parameter verification failed.\n     * @throws { BusinessError } 6600101 - Session service exception.\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Create an AVSession instance. An ability can only create one AVSession\n     * @param { Context } context - The context of application\n     * @param { string } tag - A user-defined name for this session\n     * @param { AVSessionType } type - The type of session {@link AVSessionType}\n     * @returns { Promise<AVSession> } Promise for AVSession\n     * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n     * 2.Parameter verification failed.\n     * @throws { BusinessError } 6600101 - Session service exception.\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    function createAVSession(context: Context, tag: string, type: AVSessionType): Promise<AVSession>;\n    /**\n     * Define different protocol capability\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @since 11\n     */\n    /**\n     * Define different protocol capability\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 12\n     */\n    enum ProtocolType {\n        /**\n         * The default cast type \"local\", media can be routed on the same device,\n         * including internal speakers or audio jack on the device itself, A2DP devices.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        /**\n         * The default cast type \"local\", media can be routed on the same device,\n         * including internal speakers or audio jack on the device itself, A2DP devices.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        TYPE_LOCAL = 0,\n        /**\n         * The Cast+ Stream indicating the media is presenting on a different device\n         * the application need get an AVCastController to control remote playback.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        /**\n         * The Cast+ Stream indicating the media is presenting on a different device\n         * the application need get an AVCastController to control remote playback.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        TYPE_CAST_PLUS_STREAM = 2,\n        /**\n         * The DLNA type indicates the device supports DLNA protocol,\n         * the application needs to get an AVCastController to control remote playback.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        TYPE_DLNA = 4,\n        /**\n         * This type indicates the device supports audio casting with high defination to get a better sound quality.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 20\n         */\n        TYPE_CAST_PLUS_AUDIO = 8\n    }\n    /**\n     * Session type, support audio & video\n     * @typedef { 'audio' | 'video' } AVSessionType\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Session type, support audio & video, voice_call\n     * @typedef { 'audio' | 'video' | 'voice_call' } AVSessionType\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    /**\n     * Session type supports audio & video, voice_call, video_call\n     * @typedef { 'audio' | 'video' | 'voice_call' | 'video_call' } AVSessionType\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    type AVSessionType = 'audio' | 'video' | 'voice_call' | 'video_call';\n    /**\n     * AVSession object.\n     * @interface AVSession\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * AVSession object.\n     * @interface AVSession\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVSession {\n        /**\n         * unique session Id\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * unique session Id\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        readonly sessionId: string;\n        /**\n         * Get current session type\n         * @type { AVSessionType }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get current session type\n         * @type { AVSessionType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        readonly sessionType: AVSessionType;\n        /**\n         * Set the metadata of this session.\n         * In addition to the required properties, users can fill in partially supported properties\n         * @param { AVMetadata } data {@link AVMetadata}\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        setAVMetadata(data: AVMetadata, callback: AsyncCallback<void>): void;\n        /**\n         * Set the metadata of this session.\n         * In addition to the required properties, users can fill in partially supported properties\n         * @param { AVMetadata } data {@link AVMetadata}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the metadata of this session.\n         * In addition to the required properties, users can fill in partially supported properties\n         * @param { AVMetadata } data {@link AVMetadata}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        setAVMetadata(data: AVMetadata): Promise<void>;\n        /**\n         * Set the metadata related with current call.\n         * @param { CallMetadata } data - {@link CallMetadata}\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        setCallMetadata(data: CallMetadata, callback: AsyncCallback<void>): void;\n        /**\n         * Set the metadata related with current call.\n         * @param { CallMetadata } data - {@link CallMetadata}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        setCallMetadata(data: CallMetadata): Promise<void>;\n        /**\n         * Set the playback state of this session.\n         * @param { AVPlaybackState } state {@link AVPlaybackState}\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        setAVPlaybackState(state: AVPlaybackState, callback: AsyncCallback<void>): void;\n        /**\n         * Set the playback state of this session.\n         * @param { AVPlaybackState } state {@link AVPlaybackState}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the playback state of this session.\n         * @param { AVPlaybackState } state {@link AVPlaybackState}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        setAVPlaybackState(state: AVPlaybackState): Promise<void>;\n        /**\n         * Set the call state of this session.\n         * @param { AVCallState } state - {@link AVCallState}\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        setAVCallState(state: AVCallState, callback: AsyncCallback<void>): void;\n        /**\n         * Set the call state of this session.\n         * @param { AVCallState } state - {@link AVCallState}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        setAVCallState(state: AVCallState): Promise<void>;\n        /**\n         * Set the ability to start the session corresponding to\n         * @param { WantAgent } ability - The WantAgent for launch the ability\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        setLaunchAbility(ability: WantAgent, callback: AsyncCallback<void>): void;\n        /**\n         * Set the ability to start the session corresponding to\n         * @param { WantAgent } ability - The WantAgent for launch the ability\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the ability to start the session corresponding to\n         * @param { WantAgent } ability - The WantAgent for launch the ability\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        setLaunchAbility(ability: WantAgent): Promise<void>;\n        /**\n         * Dispatch the session event of this session.\n         * @param { string } event - Session event name to dispatch\n         * @param { object } args - The parameters of session event\n         * @param { AsyncCallback<void>} callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        dispatchSessionEvent(event: string, args: {\n            [key: string]: Object;\n        }, callback: AsyncCallback<void>): void;\n        /**\n         * Dispatch the session event of this session.\n         * @param { string } event - Session event name to dispatch\n         * @param { object } args - The parameters of session event\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Dispatch the session event of this session.\n         * @param { string } event - Session event name to dispatch\n         * @param { object } args - The parameters of session event\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        dispatchSessionEvent(event: string, args: {\n            [key: string]: Object;\n        }): Promise<void>;\n        /**\n         * Set the playlist of queueItem. Identifies the content of the playlist presented by this session.\n         * @param { Array<AVQueueItem> } items - An array of the AVQueueItem\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        setAVQueueItems(items: Array<AVQueueItem>, callback: AsyncCallback<void>): void;\n        /**\n         * Set the playlist of queueItem. Identifies the content of the playlist presented by this session.\n         * @param { Array<AVQueueItem> } items - An array of the AVQueueItem\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the playlist of queueItem. Identifies the content of the playlist presented by this session.\n         * @param { Array<AVQueueItem> } items - An array of the AVQueueItem\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        setAVQueueItems(items: Array<AVQueueItem>): Promise<void>;\n        /**\n         * Set the name of the playlist presented by this session.\n         * @param { string } title - The name of the playlist\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        setAVQueueTitle(title: string, callback: AsyncCallback<void>): void;\n        /**\n         * Set the name of the playlist presented by this session.\n         * @param { string } title - The name of the playlist\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the name of the playlist presented by this session.\n         * @param { string } title - The name of the playlist\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        setAVQueueTitle(title: string): Promise<void>;\n        /**\n         * Set the custom media packets for this session.\n         * @param { object } extras - The custom media packets\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        setExtras(extras: {\n            [key: string]: Object;\n        }, callback: AsyncCallback<void>): void;\n        /**\n         * Set the custom media packets for this session.\n         * @param { object } extras - The custom media packets\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the custom media packets for this session.\n         * @param { object } extras - The custom media packets\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        setExtras(extras: {\n            [key: string]: Object;\n        }): Promise<void>;\n        /**\n         * Get the current session's own controller\n         * @param { AsyncCallback<AVSessionController> } callback - async callback for the AVSessionController.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getController(callback: AsyncCallback<AVSessionController>): void;\n        /**\n         * Get the current session's own controller\n         * @returns { Promise<AVSessionController> } Promise for the AVSessionController\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the current session's own controller\n         * @returns { Promise<AVSessionController> } Promise for the AVSessionController\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getController(): Promise<AVSessionController>;\n        /**\n         * Get the cast controller when the session is casted to remote device.\n         * If the avsession is not under casting state, the controller will return null.\n         * @param { AsyncCallback<AVCastController> } callback - async callback for the AVCastController.\n         * @throws {BusinessError} 6600102 - The session does not exist\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        getAVCastController(callback: AsyncCallback<AVCastController>): void;\n        /**\n         * Get the cast controller when the session is casted to remote device.\n         * If the avsession is not under casting state, the controller will return null.\n         * @returns { Promise<AVCastController> } Promise for the AVCastController\n         * @throws {BusinessError} 6600102 - The session does not exist\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Get the cast controller when the session is casted to remote device.\n         * If the avsession is not under casting state, the controller will return null.\n         * @returns { Promise<AVCastController> } Promise for the AVCastController\n         * @throws {BusinessError} 6600102 - The session does not exist\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        getAVCastController(): Promise<AVCastController>;\n        /**\n         * Get output device information\n         * @param { AsyncCallback<OutputDeviceInfo> } callback - async callback for the OutputDeviceInfo.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getOutputDevice(callback: AsyncCallback<OutputDeviceInfo>): void;\n        /**\n         * Get output device information\n         * @returns { Promise<OutputDeviceInfo> } Promise for the OutputDeviceInfo\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get output device information\n         * @returns { Promise<OutputDeviceInfo> } Promise for the OutputDeviceInfo\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getOutputDevice(): Promise<OutputDeviceInfo>;\n        /**\n         * Get output device information\n         * @returns { OutputDeviceInfo } the OutputDeviceInfo\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get output device information\n         * @returns { OutputDeviceInfo } the OutputDeviceInfo\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getOutputDeviceSync(): OutputDeviceInfo;\n        /**\n         * Get all the current virtual display information for extended display.\n         * @returns { Promise<Array<CastDisplayInfo>> } Promise for the CastDisplayInfo\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        getAllCastDisplays(): Promise<Array<CastDisplayInfo>>;\n        /**\n         * Register play command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'play' } type - Command to register 'play'.\n         * @param { function } callback - Used to handle ('play') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register play command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'play' } type - Command to register 'play'.\n         * @param { function } callback - Used to handle ('play') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'play', callback: () => void): void;\n        /**\n         * Register pause command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'pause' } type - Command to register 'pause'.\n         * @param { function } callback - Used to handle ('pause') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register pause command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'pause' } type - Command to register 'pause'.\n         * @param { function } callback - Used to handle ('pause') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'pause', callback: () => void): void;\n        /**\n         * Register stop command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'stop' } type - Command to register 'stop'.\n         * @param { function } callback - Used to handle ('stop') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register stop command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'stop' } type - Command to register 'stop'.\n         * @param { function } callback - Used to handle ('stop') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'stop', callback: () => void): void;\n        /**\n         * Register playNext command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'playNext' } type - Command to register 'playNext'.\n         * @param { function } callback - Used to handle ('playNext') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register playNext command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'playNext' } type - Command to register 'playNext'.\n         * @param { function } callback - Used to handle ('playNext') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'playNext', callback: () => void): void;\n        /**\n         * Register playPrevious command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'playPrevious' } type - Command to register 'playPrevious'.\n         * @param { function } callback - Used to handle ('playPrevious') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register playPrevious command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'playPrevious' } type - Command to register 'playPrevious'.\n         * @param { function } callback - Used to handle ('playPrevious') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'playPrevious', callback: () => void): void;\n        /**\n         * Register fastForward command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'fastForward' } type - Command to register 'fastForward'.\n         * @param { function } callback - Used to handle ('fastForward') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register fastForward command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'fastForward' } type - Command to register 'fastForward'.\n         * @param { function } callback - Used to handle ('fastForward') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'fastForward', callback: (time?: number) => void): void;\n        /**\n         * Register rewind command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'rewind' } type - Command to register 'rewind'.\n         * @param { function } callback - Used to handle ('rewind') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register rewind command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'rewind' } type - Command to register 'rewind'.\n         * @param { function } callback - Used to handle ('rewind') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'rewind', callback: (time?: number) => void): void;\n        /**\n         * Unregister play command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'play' } type - Command to register 'play'.\n         * @param { function } callback - Used to handle ('play') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister play command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'play' } type - Command to register 'play'.\n         * @param { function } callback - Used to handle ('play') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'play', callback?: () => void): void;\n        /**\n         * Unregister pause command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'pause' } type - Command to register 'pause'.\n         * @param { function } callback - Used to handle ('pause') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister pause command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'pause' } type - Command to register 'pause'.\n         * @param { function } callback - Used to handle ('pause') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'pause', callback?: () => void): void;\n        /**\n         * Unregister stop command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'stop' } type - Command to register 'stop'.\n         * @param { function } callback - Used to handle ('stop') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister stop command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'stop' } type - Command to register 'stop'.\n         * @param { function } callback - Used to handle ('stop') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'stop', callback?: () => void): void;\n        /**\n         * Unregister playNext command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playNext' } type - Command to register 'playNext'.\n         * @param { function } callback - Used to handle ('playNext') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister playNext command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playNext' } type - Command to register 'playNext'.\n         * @param { function } callback - Used to handle ('playNext') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'playNext', callback?: () => void): void;\n        /**\n         * Unregister playPrevious command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playPrevious' } type - Command to register 'playPrevious'.\n         * @param { function } callback - Used to handle ('playPrevious') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister playPrevious command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playPrevious' } type - Command to register 'playPrevious'.\n         * @param { function } callback - Used to handle ('playPrevious') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'playPrevious', callback?: () => void): void;\n        /**\n         * Unregister fastForward command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'fastForward' } type - Command to register 'fastForward'.\n         * @param { function } callback - Used to handle ('fastForward') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister fastForward command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'fastForward' } type - Command to register 'fastForward'.\n         * @param { function } callback - Used to handle ('fastForward') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'fastForward', callback?: () => void): void;\n        /**\n         * Unregister rewind command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'rewind' } type - Command to register 'rewind'.\n         * @param { function } callback - Used to handle ('rewind') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister rewind command callback.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'rewind' } type - Command to register 'rewind'.\n         * @param { function } callback - Used to handle ('rewind') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'rewind', callback?: () => void): void;\n        /**\n         * Register playFromAssetId command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'playFromAssetId' } type - Command to register 'playFromAssetId'.\n         * @param { function } callback - Used to handle ('playFromAssetId') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Register playFromAssetId command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * When canceling the callback, need to update the supported commands list.\n         * Each playback command only supports registering one callback,\n         * and the new callback will replace the previous one.\n         * @param { 'playFromAssetId' } type - Command to register 'playFromAssetId'.\n         * @param { function } callback - Used to handle ('playFromAssetId') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         * @deprecated since 20\n         * @useinstead ohos.multimedia.avsession.AVSessoin#on\n         */\n        on(type: 'playFromAssetId', callback: (assetId: number) => void): void;\n        /**\n         * Unregister playFromAssetId command callback.\n         * @param { 'playFromAssetId' } type - Command to register 'playFromAssetId'.\n         * @param { function } callback - Used to handle ('playFromAssetId') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Unregister playFromAssetId command callback.\n         * @param { 'playFromAssetId' } type - Command to register 'playFromAssetId'.\n         * @param { function } callback - Used to handle ('playFromAssetId') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         * @deprecated since 20\n         * @useinstead ohos.multimedia.avsession.AVSessoin#off\n         */\n        off(type: 'playFromAssetId', callback?: (assetId: number) => void): void;\n        /**\n         * Subscribes to playWithAssetId events.\n         * @param { 'playWithAssetId' } type - Event type.\n         * @param { Callback<string> } callback - Callback used to handle the 'playWithAssetId' command.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 20\n         */\n        on(type: 'playWithAssetId', callback: Callback<string>): void;\n        /**\n         * Unsubscribes to playWithAssetId events.\n         * @param { 'playWithAssetId' } type - Event type.\n         * @param { Callback<string> } callback - Callback used to handle the 'playWithAssetId' command.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 20\n         */\n        off(type: 'playWithAssetId', callback?: Callback<string>): void;\n        /**\n         * Register seek command callback\n         * @param { 'seek' } type - Registration Type 'seek'\n         * @param { function } callback - Used to handle seek command.The callback provides the seek time(ms)\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register seek command callback\n         * @param { 'seek' } type - Registration Type 'seek'\n         * @param { function } callback - Used to handle seek command.The callback provides the seek time(ms)\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'seek', callback: (time: number) => void): void;\n        /**\n         * Unregister seek command callback\n         * @param { 'seek' } type - Registration Type 'seek'\n         * @param { function } callback - Used to handle seek command.The callback provides the seek time(ms)\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister seek command callback\n         * @param { 'seek' } type - Registration Type 'seek'\n         * @param { function } callback - Used to handle seek command.The callback provides the seek time(ms)\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'seek', callback?: (time: number) => void): void;\n        /**\n         * Register setSpeed command callback\n         * @param { 'setSpeed' } type - Registration Type 'setSpeed'\n         * @param { function } callback - Used to handle setSpeed command.The callback provides the speed value\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register setSpeed command callback\n         * @param { 'setSpeed' } type - Registration Type 'setSpeed'\n         * @param { function } callback - Used to handle setSpeed command.The callback provides the speed value\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'setSpeed', callback: (speed: number) => void): void;\n        /**\n         * Unregister setSpeed command callback\n         * @param { 'setSpeed' } type - Registration Type 'setSpeed'\n         * @param { function } callback - Used to handle setSpeed command.The callback provides the speed value\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister setSpeed command callback\n         * @param { 'setSpeed' } type - Registration Type 'setSpeed'\n         * @param { function } callback - Used to handle setSpeed command.The callback provides the speed value\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'setSpeed', callback?: (speed: number) => void): void;\n        /**\n         * Register setLoopMode command callback\n         * @param { 'setLoopMode' } type - Registration Type 'setLoopMode'\n         * @param { function } callback - Used to handle setLoopMode command.The callback provides the {@link LoopMode}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register setLoopMode command callback\n         * @param { 'setLoopMode' } type - Registration Type 'setLoopMode'\n         * @param { function } callback - Used to handle setLoopMode command.The callback provides the {@link LoopMode}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'setLoopMode', callback: (mode: LoopMode) => void): void;\n        /**\n         * Unregister setLoopMode command callback\n         * @param { 'setLoopMode' } type - Registration Type 'setLoopMode'\n         * @param { function } callback - Used to handle setLoopMode command.The callback provides the {@link LoopMode}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister setLoopMode command callback\n         * @param { 'setLoopMode' } type - Registration Type 'setLoopMode'\n         * @param { function } callback - Used to handle setLoopMode command.The callback provides the {@link LoopMode}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'setLoopMode', callback?: (mode: LoopMode) => void): void;\n        /**\n         * Register setTargetLoopMode command callback\n         * Application should change playmode to the loopmode which is requested.\n         * @param { 'setTargetLoopMode' } type - Registration Type 'setTargetLoopMode'\n         * @param { Callback<LoopMode> } callback - Used to handle setTargetLoopMode command.The callback provides the {@link LoopMode}\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 18\n         */\n        on(type: 'setTargetLoopMode', callback: Callback<LoopMode>): void;\n        /**\n         * Unregister setTargetLoopMode command callback\n         * @param { 'setTargetLoopMode' } type - Registration Type 'setTargetLoopMode'\n         * @param { Callback<LoopMode> } callback - Used to handle setTargetLoopMode command.The callback provides the {@link LoopMode}\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 18\n         */\n        off(type: 'setTargetLoopMode', callback?: Callback<LoopMode>): void;\n        /**\n         * Register toggle favorite command callback\n         * @param { 'toggleFavorite' } type - Registration Type 'toggleFavorite'\n         * @param { function } callback - Used to handle toggleFavorite command.The callback provides\n         * the assetId for which the favorite status needs to be switched.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register toggle favorite command callback\n         * @param { 'toggleFavorite' } type - Registration Type 'toggleFavorite'\n         * @param { function } callback - Used to handle toggleFavorite command.The callback provides\n         * the assetId for which the favorite status needs to be switched.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'toggleFavorite', callback: (assetId: string) => void): void;\n        /**\n         * Unregister toggle favorite command callback\n         * @param { 'toggleFavorite' } type - Registration Type 'toggleFavorite'\n         * @param { function } callback - Used to handle toggleFavorite command.The callback provides\n         * the assetId for which the favorite status needs to be switched.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister toggle favorite command callback\n         * @param { 'toggleFavorite' } type - Registration Type 'toggleFavorite'\n         * @param { function } callback - Used to handle toggleFavorite command.The callback provides\n         * the assetId for which the favorite status needs to be switched.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'toggleFavorite', callback?: (assetId: string) => void): void;\n        /**\n         * Register media key handling callback\n         * @param { 'handleKeyEvent' } type - Registration Type 'handleKeyEvent'\n         * @param { function } callback - Used to handle key events.The callback provides the KeyEvent\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register media key handling callback\n         * @param { 'handleKeyEvent' } type - Registration Type 'handleKeyEvent'\n         * @param { function } callback - Used to handle key events.The callback provides the KeyEvent\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'handleKeyEvent', callback: (event: KeyEvent) => void): void;\n        /**\n         * Unregister media key handling callback\n         * @param { 'handleKeyEvent' } type - Registration Type 'handleKeyEvent'\n         * @param { function } callback - Used to handle key events.The callback provides the KeyEvent\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister media key handling callback\n         * @param { 'handleKeyEvent' } type - Registration Type 'handleKeyEvent'\n         * @param { function } callback - Used to handle key events.The callback provides the KeyEvent\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void;\n        /**\n         * Register session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600102 - The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600102 - The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'outputDeviceChange', callback: (state: ConnectionState, device: OutputDeviceInfo) => void): void;\n        /**\n         * Unregister session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600102 - The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600102 - The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'outputDeviceChange', callback?: (state: ConnectionState, device: OutputDeviceInfo) => void): void;\n        /**\n         * Register session custom command change callback\n         * @param { 'commonCommand' } type - Registration Type 'commonCommand'\n         * @param { function } callback - Used to handle event when the common command is received\n         * The callback provide the command name and command args\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register session custom command change callback\n         * @param { 'commonCommand' } type - Registration Type 'commonCommand'\n         * @param { function } callback - Used to handle event when the common command is received\n         * The callback provide the command name and command args\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'commonCommand', callback: (command: string, args: {\n            [key: string]: Object;\n        }) => void): void;\n        /**\n         * Unregister session custom command change callback\n         * @param { 'commonCommand' } type - Registration Type 'commonCommand'\n         * @param { function } callback - Used to cancel a specific listener\n         * The callback provide the command name and command args\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister session custom command change callback\n         * @param { 'commonCommand' } type - Registration Type 'commonCommand'\n         * @param { function } callback - Used to cancel a specific listener\n         * The callback provide the command name and command args\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'commonCommand', callback?: (command: string, args: {\n            [key: string]: Object;\n        }) => void): void;\n        /**\n         * Register the item to play from the playlist change callback\n         * @param { 'skipToQueueItem' } type - Registration Type 'skipToQueueItem'\n         * @param { function } callback - Used to handle the item to be played.\n         * The callback provide the new device info {@link OutputDeviceInfo}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register the item to play from the playlist change callback\n         * @param { 'skipToQueueItem' } type - Registration Type 'skipToQueueItem'\n         * @param { function } callback - Used to handle the item to be played.\n         * The callback provide the new device info {@link OutputDeviceInfo}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'skipToQueueItem', callback: (itemId: number) => void): void;\n        /**\n         * Unregister the item to play from the playlist change callback\n         * @param { 'skipToQueueItem' } type - Registration Type 'skipToQueueItem'\n         * @param { function } callback - Used to handle the item to be played.\n         * The callback provide the new device info {@link OutputDeviceInfo}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister the item to play from the playlist change callback\n         * @param { 'skipToQueueItem' } type - Registration Type 'skipToQueueItem'\n         * @param { function } callback - Used to handle the item to be played.\n         * The callback provide the new device info {@link OutputDeviceInfo}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'skipToQueueItem', callback?: (itemId: number) => void): void;\n        /**\n         * Register answer command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * @param { 'answer' } type - Command to register 'answer'.\n         * @param { Callback<void> } callback - Used to handle ('answer') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Register answer command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * @param { 'answer' } type - Command to register 'answer'.\n         * @param { Callback<void> } callback - Used to handle ('answer') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'answer', callback: Callback<void>): void;\n        /**\n         * Unregister answer command callback.\n         * @param { 'answer' } type - Command to register 'answer'.\n         * @param { Callback<void> } callback - Used to handle ('answer') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Unregister answer command callback.\n         * @param { 'answer' } type - Command to register 'answer'.\n         * @param { Callback<void> } callback - Used to handle ('answer') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'answer', callback?: Callback<void>): void;\n        /**\n         * Register hangUp command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * @param { 'hangUp' } type - Command to register 'hangUp'.\n         * @param { Callback<void> } callback - Used to handle ('hangUp') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Register hangUp command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * @param { 'hangUp' } type - Command to register 'hangUp'.\n         * @param { Callback<void> } callback - Used to handle ('hangUp') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'hangUp', callback: Callback<void>): void;\n        /**\n         * Unregister hangUp command callback.\n         * @param { 'hangUp' } type - Command to register 'hangUp'.\n         * @param { Callback<void> } callback - Used to handle ('hangUp') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Unregister hangUp command callback.\n         * @param { 'hangUp' } type - Command to register 'hangUp'.\n         * @param { Callback<void> } callback - Used to handle ('hangUp') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'hangUp', callback?: Callback<void>): void;\n        /**\n         * Register toggleCallMute command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * @param { 'toggleCallMute' } type - Command to register 'toggleCallMute'.\n         * @param { Callback<void> } callback - Used to handle ('toggleCallMute') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Register toggleCallMute command callback.\n         * As long as it is registered, it means that the ability supports this command.\n         * If you cancel the callback, you need to call off {@link off}\n         * @param { 'toggleCallMute' } type - Command to register 'toggleCallMute'.\n         * @param { Callback<void> } callback - Used to handle ('toggleCallMute') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'toggleCallMute', callback: Callback<void>): void;\n        /**\n         * Unregister toggleCallMute command callback.\n         * @param { 'toggleCallMute' } type - Command to register 'toggleCallMute'.\n         * @param { Callback<void> } callback - Used to handle ('toggleCallMute') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Unregister toggleCallMute command callback.\n         * @param { 'toggleCallMute' } type - Command to register 'toggleCallMute'.\n         * @param { Callback<void> } callback - Used to handle ('toggleCallMute') command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'toggleCallMute', callback?: Callback<void>): void;\n        /**\n         * Register listener for cast display information changed.\n         * @param { 'castDisplayChange' } type - Type of the 'castDisplayChange' to listen for.\n         * @param { Callback<CastDisplayInfo> } callback - Callback used to return cast display information.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600102 - The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'castDisplayChange', callback: Callback<CastDisplayInfo>): void;\n        /**\n         * Unregister listener for cast display information changed.\n         * @param { 'castDisplayChange' } type - Type of the 'castDisplayChange' to listen for.\n         * @param { Callback<CastDisplayInfo> } callback - Callback used to return cast display information.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600102 - The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'castDisplayChange', callback?: Callback<CastDisplayInfo>): void;\n        /**\n         * Stop current cast and disconnect device connection.\n         * @param { AsyncCallback<void> } callback A callback instance used to return when cast stopped completed.\n         * @throws { BusinessError } 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        stopCasting(callback: AsyncCallback<void>): void;\n        /**\n         * Stop current cast and disconnect device connection.\n         * @returns { Promise<void> } void result promise when executed successfully\n         * @throws { BusinessError } 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Stop current cast and disconnect device connection.\n         * @returns { Promise<void> } void result promise when executed successfully\n         * @throws { BusinessError } 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        stopCasting(): Promise<void>;\n        /**\n         * Activate the session, indicating that the session can accept control commands\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the session is activated.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        activate(callback: AsyncCallback<void>): void;\n        /**\n         * Activate the session, indicating that the session can accept control commands\n         * @returns { Promise<void> } void result promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Activate the session, indicating that the session can accept control commands\n         * @returns { Promise<void> } void result promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        activate(): Promise<void>;\n        /**\n         * Deactivate the session, indicating that the session not ready to accept control commands\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the session is deactivated.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        deactivate(callback: AsyncCallback<void>): void;\n        /**\n         * Deactivate the session, indicating that the session not ready to accept control commands\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Deactivate the session, indicating that the session not ready to accept control commands\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        deactivate(): Promise<void>;\n        /**\n         * Destroy this session, the server will clean up the session resources\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        destroy(callback: AsyncCallback<void>): void;\n        /**\n         * Destroy this session, the server will clean up the session resources\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Destroy this session, the server will clean up the session resources\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        destroy(): Promise<void>;\n    }\n    /**\n     * The type of control command\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n     *     'setVolume' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'toggleMute' } AVCastControlCommandType\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @since 10\n     */\n    /**\n     * The type of control command\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n     *     'setVolume' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'toggleMute' } AVCastControlCommandType\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 12\n     */\n    type AVCastControlCommandType = 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' | 'setVolume' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'toggleMute';\n    /**\n     * The definition of command to be sent to the session\n     * @interface AVCastControlCommand\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @since 10\n     */\n    /**\n     * The definition of command to be sent to the session\n     * @interface AVCastControlCommand\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 12\n     */\n    interface AVCastControlCommand {\n        /**\n         * The command value {@link AVCastControlCommandType}\n         *\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * The command value {@link AVCastControlCommandType}\n         * @type { AVCastControlCommandType }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        command: AVCastControlCommandType;\n        /**\n         * Parameter carried in the command.\n         * The seek command must carry the number parameter.\n         * The setVolume command must carry the number parameter.\n         * The toggleFavorite command must carry the {@link AVMediaDescription.assetId} parameter.\n         * The setSpeed command must carry the {@link #media.PlaybackSpeed} parameter.\n         * The setLoopMode command must carry the {@link LoopMode} parameter.\n         * Other commands do not need to carry parameters.\n         * @type { ?(media.PlaybackSpeed | number | string | LoopMode) }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Parameter carried in the command.\n         * The seek command must carry the number parameter.\n         * The setVolume command must carry the number parameter.\n         * The toggleFavorite command must carry the {@link AVMediaDescription.assetId} parameter.\n         * The setSpeed command must carry the {@link #media.PlaybackSpeed} parameter.\n         * The setLoopMode command must carry the {@link LoopMode} parameter.\n         * Other commands do not need to carry parameters.\n         * @type { ?(media.PlaybackSpeed | number | string | LoopMode) }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        parameter?: media.PlaybackSpeed | number | string | LoopMode;\n    }\n    /**\n     * AVCastController definition used to implement a remote control when a cast is connected\n     * @interface AVCastController\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @since 10\n     */\n    /**\n     * AVCastController definition used to implement a remote control when a cast is connected\n     * @interface AVCastController\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 12\n     */\n    interface AVCastController {\n        /**\n         * Get the playback status of the current player\n         * @param { AsyncCallback<AVPlaybackState> } callback - The triggered asyncCallback when (getAVPlaybackState).\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        getAVPlaybackState(callback: AsyncCallback<AVPlaybackState>): void;\n        /**\n         * Get the playback status of the current player\n         * @returns { Promise<AVPlaybackState> } (AVPlaybackState) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Get the playback status of the current player\n         * @returns { Promise<AVPlaybackState> } (AVPlaybackState) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        getAVPlaybackState(): Promise<AVPlaybackState>;\n        /**\n         * Get supported decoders of remote player.\n         * @returns { Promise<Array<DecoderType>> } (DecoderType) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedDecoders(): Promise<Array<DecoderType>>;\n        /**\n         * Get recommended resolution of remote player based on each decoder.\n         * @param { DecoderType } decoderType - The decoder type.\n         * @returns { Promise<ResolutionLevel> } ResolutionLevel returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        getRecommendedResolutionLevel(decoderType: DecoderType): Promise<ResolutionLevel>;\n        /**\n         * Get supported hdr capabilities of remote player.\n         * @returns { Promise<Array<hdrCapability.HDRFormat>> } HDRFormat returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedHdrCapabilities(): Promise<Array<hdrCapability.HDRFormat>>;\n        /**\n         * Get supported speed of remote player.\n         * @returns { Promise<Array<number>> } supported speed returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedPlaySpeeds(): Promise<Array<number>>;\n        /**\n         * Send control commands to remote player\n         * @param { AVCastControlCommand } command The command to be send.\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600105 - Invalid session command\n         * @throws { BusinessError } 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        sendControlCommand(command: AVCastControlCommand, callback: AsyncCallback<void>): void;\n        /**\n         * Send control commands to remote player\n         * @param { AVCastControlCommand } command The command to be send.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600105 - Invalid session command\n         * @throws { BusinessError } 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n        * Send control commands to remote player\n        * @param { AVCastControlCommand } command The command to be send.\n        * @returns { Promise<void> } Promise used to return the result.\n        * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n        * 2.Parameter verification failed.\n        * @throws { BusinessError } 6600101 - Session service exception\n        * @throws { BusinessError } 6600105 - Invalid session command\n        * @throws { BusinessError } 6600109 - The remote connection is not established\n        * @syscap SystemCapability.Multimedia.AVSession.AVCast\n        * @atomicservice\n        * @since 12\n        */\n        sendControlCommand(command: AVCastControlCommand): Promise<void>;\n        /**\n         * Play the current item, should contain mediaUri otherwise the playback will fail.\n         * @param { AVQueueItem } item media item info.\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws {BusinessError} 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws {BusinessError} 6600101 - Session service exception\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        start(item: AVQueueItem, callback: AsyncCallback<void>): void;\n        /**\n         * Play the current item, should contain mediaUri otherwise the playback will fail.\n         * @param { AVQueueItem } item media item info.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws {BusinessError} 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws {BusinessError} 6600101 - Session service exception\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Play the current item, should contain mediaUri otherwise the playback will fail.\n         * @param { AVQueueItem } item media item info.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws {BusinessError} 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws {BusinessError} 6600101 - Session service exception\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        start(item: AVQueueItem): Promise<void>;\n        /**\n         * Load the current item and mediaUri can be null, this is needed for sink media information displaying\n         * @param { AVQueueItem } item media item info.\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws {BusinessError} 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws {BusinessError} 6600101 - Session service exception\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        prepare(item: AVQueueItem, callback: AsyncCallback<void>): void;\n        /**\n         * Load the current item and mediaUri can be null, this is needed for sink media information displaying\n         * @param { AVQueueItem } item media item info.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws {BusinessError} 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws {BusinessError} 6600101 - Session service exception\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Load the current item and mediaUri can be null, this is needed for sink media information displaying\n         * @param { AVQueueItem } item media item info.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws {BusinessError} 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws {BusinessError} 6600101 - Session service exception\n         * @throws {BusinessError} 6600109 - The remote connection is not established\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        prepare(item: AVQueueItem): Promise<void>;\n        /**\n         * Get the current playing item\n         * @param { AsyncCallback<AVQueueItem> } callback - The triggered asyncCallback.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        getCurrentItem(callback: AsyncCallback<AVQueueItem>): void;\n        /**\n         * Get the current playing item\n         * @returns { Promise<AVQueueItem> } (AVQueueItem) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Get the current playing item\n         * @returns { Promise<AVQueueItem> } (AVQueueItem) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        getCurrentItem(): Promise<AVQueueItem>;\n        /**\n         * Get commands supported by the current cast controller\n         * @param { AsyncCallback<Array<AVCastControlCommandType>> } callback - The triggered asyncCallback when (getValidCommands).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        getValidCommands(callback: AsyncCallback<Array<AVCastControlCommandType>>): void;\n        /**\n         * Get commands supported by the current cast controller\n         * @returns { Promise<Array<AVCastControlCommandType>> } array of AVCastControlCommandType promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        getValidCommands(): Promise<Array<AVCastControlCommandType>>;\n        /**\n         * Process the response corresponding to the media key request obtained by the application.\n         * @param { string } assetId - The assetId of resource which provides the response.\n         * @param { Uint8Array } response - Response corresponding to the request.\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        processMediaKeyResponse(assetId: string, response: Uint8Array): Promise<void>;\n        /**\n         * Destroy the controller\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        release(callback: AsyncCallback<void>): void;\n        /**\n         * Destroy the controller\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        /**\n         * Destroy the controller\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        release(): Promise<void>;\n        /**\n         * Register playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { Array<keyof AVPlaybackState> | 'all' } filter - The properties of {@link AVPlaybackState} that you cared about\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Register playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { Array<keyof AVPlaybackState> | 'all' } filter - The properties of {@link AVPlaybackState} that you cared about\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'playbackStateChange', filter: Array<keyof AVPlaybackState> | 'all', callback: (state: AVPlaybackState) => void): void;\n        /**\n         * Unregister playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Unregister playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void): void;\n        /**\n         * Register listener for current media item playback events.\n         * @param { 'mediaItemChange' } type Type of the playback event to listen for.\n         * @param { Callback<AVQueueItem> } callback Callback used to listen for current item changed.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Register listener for current media item playback events.\n         * @param { 'mediaItemChange' } type Type of the playback event to listen for.\n         * @param { Callback<AVQueueItem> } callback Callback used to listen for current item changed.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'mediaItemChange', callback: Callback<AVQueueItem>): void;\n        /**\n         * Unregister listener for current media item playback events.\n         * @param { 'mediaItemChange' } type Type of the playback event to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Unregister listener for current media item playback events.\n         * @param { 'mediaItemChange' } type Type of the playback event to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'mediaItemChange'): void;\n        /**\n         * Register playback command callback sent by remote side or media center.\n         * Application needs update the new media resource when receive these commands by using playItem.\n         * @param { 'playNext' } type - Type of the 'playNext' event to listen for.\n         * @param { Callback<void> } callback - Used to handle 'playNext' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Register playback command callback sent by remote side or media center.\n         * Application needs update the new media resource when receive these commands by using playItem.\n         * @param { 'playNext' } type - Type of the 'playNext' event to listen for.\n         * @param { Callback<void> } callback - Used to handle 'playNext' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'playNext', callback: Callback<void>): void;\n        /**\n         * Unregister playback command callback sent by remote side or media center.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playNext' } type - Type of the 'playNext' event to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Unregister playback command callback sent by remote side or media center.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playNext' } type - Type of the 'playNext' event to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'playNext'): void;\n        /**\n         * Register playback command callback sent by remote side or media center.\n         * Application needs update the new media resource when receive these commands by using playItem.\n         * @param { 'playPrevious' } type - Type of the 'playPrevious' to listen for.\n         * @param { Callback<void> } callback - Used to handle 'playPrevious' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Register playback command callback sent by remote side or media center.\n         * Application needs update the new media resource when receive these commands by using playItem.\n         * @param { 'playPrevious' } type - Type of the 'playPrevious' to listen for.\n         * @param { Callback<void> } callback - Used to handle 'playPrevious' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'playPrevious', callback: Callback<void>): void;\n        /**\n         * Unregister playback command callback sent by remote side or media center.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playPrevious' } type - Type of the 'playPrevious' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Unregister playback command callback sent by remote side or media center.\n         * When canceling the callback, need to update the supported commands list.\n         * @param { 'playPrevious' } type - Type of the 'playPrevious' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'playPrevious'): void;\n        /**\n         * Register requested playback command callback sent by remote side or media center.\n         * The AVQueueItem may include the requested assetId, starting position and other configurations.\n         * @param { 'requestPlay' } type - Type of the 'requestPlay' to listen for.\n         * @param { Callback<AVQueueItem> } callback - Used to handle 'requestPlay' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        on(type: 'requestPlay', callback: Callback<AVQueueItem>): void;\n        /**\n         * Unregister requested playback command callback sent by remote side or media center.\n         * @param { 'requestPlay' } type - Type of the 'requestPlay' to listen for.\n         * @param { Callback<AVQueueItem> } callback - Used to handle 'requestPlay' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        off(type: 'requestPlay', callback?: Callback<AVQueueItem>): void;\n        /**\n         * Register endOfStream state callback.\n         * Application needs update the new media resource when receive these commands by using playItem.\n         * @param { 'endOfStream' } type - Type of the 'endOfStream' to listen for.\n         * @param { Callback<void> } callback - Used to handle 'endOfStream' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        on(type: 'endOfStream', callback: Callback<void>): void;\n        /**\n         * Unregister endOfStream state callback.\n         * @param { 'endOfStream' } type - Type of the 'endOfStream' to listen for.\n         * @param { Callback<void> } callback - Used to handle 'endOfStream' command\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        off(type: 'endOfStream', callback?: Callback<void>): void;\n        /**\n         * Register listens for playback events.\n         * @param { 'seekDone' } type - Type of the 'seekDone' to listen for.\n         * @param { Callback<number> } callback - Callback used to listen for the playback seekDone event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Register listens for playback events.\n         * @param { 'seekDone' } type - Type of the 'seekDone' to listen for.\n         * @param { Callback<number> } callback - Callback used to listen for the playback seekDone event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'seekDone', callback: Callback<number>): void;\n        /**\n         * Unregister listens for playback events.\n         * @param { 'seekDone' } type - Type of the 'seekDone' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Unregister listens for playback events.\n         * @param { 'seekDone' } type - Type of the 'seekDone' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'seekDone'): void;\n        /**\n         * Register the valid commands of the casted session changed callback\n         * @param { 'validCommandChange' } type - 'validCommandChange'\n         * @param { Callback<Array<AVCastControlCommandType>> } callback - The callback used to handle the changes.\n         * The callback function provides an array of AVCastControlCommandType.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        on(type: 'validCommandChange', callback: Callback<Array<AVCastControlCommandType>>);\n        /**\n         * Unregister the valid commands of the casted session changed callback\n         * @param { 'validCommandChange' } type - 'validCommandChange'\n         * @param { Callback<Array<AVCastControlCommandType>> } callback - The callback used to handle the changes.\n         * The callback function provides an array of AVCastControlCommandType.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        off(type: 'validCommandChange', callback?: Callback<Array<AVCastControlCommandType>>);\n        /**\n         * Register listener for video size change event, used at remote side.\n         * @param { 'videoSizeChange' } type - Type of the 'videoSizeChange' to listen for.\n         * @param { function } callback - Callback used to return video size.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 12\n         */\n        on(type: 'videoSizeChange', callback: (width: number, height: number) => void): void;\n        /**\n         * Unregister listener for video size change event, used at remote side.\n         * @param { 'videoSizeChange' } type - Type of the 'videoSizeChange' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 12\n         */\n        off(type: 'videoSizeChange'): void;\n        /**\n         * Register listeners for playback error events.\n         * @param { 'error' } type Type of the 'error' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the playback error event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 5400101 - No memory.\n         * @throws { BusinessError } 5400102 - Operation not allowed.\n         * @throws { BusinessError } 5400103 - I/O error.\n         * @throws { BusinessError } 5400104 - Time out.\n         * @throws { BusinessError } 5400105 - Service died.\n         * @throws { BusinessError } 5400106 - Unsupport format.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Register listeners for playback error events.\n         * @param { 'error' } type Type of the 'error' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the playback error event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 5400101 - No memory.\n         * @throws { BusinessError } 5400102 - Operation not allowed.\n         * @throws { BusinessError } 5400103 - I/O error.\n         * @throws { BusinessError } 5400104 - Time out.\n         * @throws { BusinessError } 5400105 - Service died.\n         * @throws { BusinessError } 5400106 - Unsupport format.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unregister listens for playback error events.\n         * @param { 'error' } type Type of the 'error' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 5400101 - No memory.\n         * @throws { BusinessError } 5400102 - Operation not allowed.\n         * @throws { BusinessError } 5400103 - I/O error.\n         * @throws { BusinessError } 5400104 - Time out.\n         * @throws { BusinessError } 5400105 - Service died.\n         * @throws { BusinessError } 5400106 - Unsupport format.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * Unregister listens for playback error events.\n         * @param { 'error' } type Type of the 'error' to listen for.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 5400101 - No memory.\n         * @throws { BusinessError } 5400102 - Operation not allowed.\n         * @throws { BusinessError } 5400103 - I/O error.\n         * @throws { BusinessError } 5400104 - Time out.\n         * @throws { BusinessError } 5400105 - Service died.\n         * @throws { BusinessError } 5400106 - Unsupport format.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'error'): void;\n        /**\n         * Register listeners for cast control generic error events.\n         * @param { 'castControlGenericError' } type Type of the 'castControlGenericError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @throws { BusinessError } 6611000 - The error code for cast control is unspecified.\n         * @throws { BusinessError } 6611001 - An unspecified error occurs in the remote player.\n         * @throws { BusinessError } 6611002 - The playback position falls behind the live window.\n         * @throws { BusinessError } 6611003 - The process of cast control times out.\n         * @throws { BusinessError } 6611004 - The runtime check failed.\n         * @throws { BusinessError } 6611100 - Cross-device data transmission is locked.\n         * @throws { BusinessError } 6611101 - The specified seek mode is not supported.\n         * @throws { BusinessError } 6611102 - The position to seek to is out of the range of the media asset\n         * or the specified seek mode is not supported.\n         * @throws { BusinessError } 6611103 - The specified playback mode is not supported.\n         * @throws { BusinessError } 6611104 - The specified playback speed is not supported.\n         * @throws { BusinessError } 6611105 - The action failed because either the media source device or the media sink device has been revoked.\n         * @throws { BusinessError } 6611106 - The parameter is invalid, for example, the url is illegal to play.\n         * @throws { BusinessError } 6611107 - Allocation of memory failed.\n         * @throws { BusinessError } 6611108 - Operation is not allowed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        on(type: 'castControlGenericError', callback: ErrorCallback): void;\n        /**\n         * Unregister listeners for cast control generic error events.\n         * @param { 'castControlGenericError' } type Type of the 'castControlGenericError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        off(type: 'castControlGenericError', callback?: ErrorCallback): void;\n        /**\n         * Register listeners for cast control input/output error events.\n         * @param { 'castControlIoError' } type Type of the 'castControlIoError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @throws { BusinessError } 6612000 - An unspecified input/output error occurs.\n         * @throws { BusinessError } 6612001 - Network connection failure.\n         * @throws { BusinessError } 6612002 - Network timeout.\n         * @throws { BusinessError } 6612003 - Invalid \"Content-Type\" HTTP header.\n         * @throws { BusinessError } 6612004 - The HTTP server returns an unexpected HTTP response status code.\n         * @throws { BusinessError } 6612005 - The file does not exist.\n         * @throws { BusinessError } 6612006 - No permission is granted to perform the IO operation.\n         * @throws { BusinessError } 6612007 - Access to cleartext HTTP traffic is not allowed by the app's network security configuration.\n         * @throws { BusinessError } 6612008 - Reading data out of the data bound.\n         * @throws { BusinessError } 6612100 - The media does not contain any contents that can be played.\n         * @throws { BusinessError } 6612101 - The media cannot be read, for example, because of dust or scratches.\n         * @throws { BusinessError } 6612102 - This resource is already in use.\n         * @throws { BusinessError } 6612103 - The content using the validity interval has expired.\n         * @throws { BusinessError } 6612104 - Using the requested content to play is not allowed.\n         * @throws { BusinessError } 6612105 - The use of the allowed content cannot be verified.\n         * @throws { BusinessError } 6612106 - The number of times this content has been used as requested has reached the maximum allowed number of uses.\n         * @throws { BusinessError } 6612107 - An error occurs when sending packet from source device to sink device.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        on(type: 'castControlIoError', callback: ErrorCallback): void;\n        /**\n         * Unregister listeners for cast control input/output error events.\n         * @param { 'castControlIoError' } type Type of the 'castControlIoError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        off(type: 'castControlIoError', callback?: ErrorCallback): void;\n        /**\n         * Register listeners for cast control parsing error events.\n         * @param { 'castControlParsingError' } type Type of the 'castControlParsingError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @throws { BusinessError } 6613000 - Unspecified error related to content parsing.\n         * @throws { BusinessError } 6613001 - Parsing error associated with media container format bit streams.\n         * @throws { BusinessError } 6613002 - Parsing error associated with the media manifest.\n         * @throws { BusinessError } 6613003 - An error occurs when attempting to extract a file with an unsupported media container format\n         * or an unsupported media container feature.\n         * @throws { BusinessError } 6613004 - Unsupported feature in the media manifest.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        on(type: 'castControlParsingError', callback: ErrorCallback): void;\n        /**\n         * Unregister listeners for cast control parsing error events.\n         * @param { 'castControlParsingError' } type Type of the 'castControlParsingError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        off(type: 'castControlParsingError', callback?: ErrorCallback): void;\n        /**\n         * Register listeners for cast control decoding error events.\n         * @param { 'castControlDecodingError' } type Type of the 'castControlDecodingError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @throws { BusinessError } 6614000 - Unspecified decoding error.\n         * @throws { BusinessError } 6614001 - Decoder initialization failed.\n         * @throws { BusinessError } 6614002 - Decoder query failed.\n         * @throws { BusinessError } 6614003 - Decoding the media samples failed.\n         * @throws { BusinessError } 6614004 - The format of the content to decode exceeds the capabilities of the device.\n         * @throws { BusinessError } 6614005 - The format of the content to decode is not supported.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        on(type: 'castControlDecodingError', callback: ErrorCallback): void;\n        /**\n         * Unregister listeners for cast control decoding error events.\n         * @param { 'castControlDecodingError' } type Type of the 'castControlDecodingError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        off(type: 'castControlDecodingError', callback?: ErrorCallback): void;\n        /**\n         * Register listeners for cast control audio renderer error error events.\n         * @param { 'castControlAudioRendererError' } type Type of the 'castControlAudioRendererError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @throws { BusinessError } 6615000 - Unspecified errors related to the audio renderer.\n         * @throws { BusinessError } 6615001 - Initializing the audio renderer failed.\n         * @throws { BusinessError } 6615002 - The audio renderer fails to write data.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        on(type: 'castControlAudioRendererError', callback: ErrorCallback): void;\n        /**\n         * Unregister listeners for cast control audio renderer error events.\n         * @param { 'castControlAudioRendererError' } type Type of the 'castControlAudioRendererError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        off(type: 'castControlAudioRendererError', callback?: ErrorCallback): void;\n        /**\n         * Register listeners for cast control drm error events.\n         * @param { 'castControlDrmError' } type Type of the 'castControlDrmError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @throws { BusinessError } 6616000 - Unspecified error related to DRM.\n         * @throws { BusinessError } 6616001 - The chosen DRM protection scheme is not supported by the device.\n         * @throws { BusinessError } 6616002 - Device provisioning failed.\n         * @throws { BusinessError } 6616003 - The DRM-protected content to play is incompatible.\n         * @throws { BusinessError } 6616004 - Failed to obtain a license.\n         * @throws { BusinessError } 6616005 - The operation is disallowed by the license policy.\n         * @throws { BusinessError } 6616006 - An error occurs in the DRM system.\n         * @throws { BusinessError } 6616007 - The device has revoked DRM privileges.\n         * @throws { BusinessError } 6616008 - The DRM license being loaded into the open DRM session has expired.\n         * @throws { BusinessError } 6616100 - An error occurs when the DRM processes the key response.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        on(type: 'castControlDrmError', callback: ErrorCallback): void;\n        /**\n         * Unregister listeners for cast control drm error events.\n         * @param { 'castControlDrmError' } type Type of the 'castControlDrmError' to listen for.\n         * @param { ErrorCallback } callback Callback used to listen for the cast control error event.\n         * @throws { BusinessError } 401 - Parameter check failed. 1. Mandatory parameters are left unspecified.\n         * 2. Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        off(type: 'castControlDrmError', callback?: ErrorCallback): void;\n        /**\n         * Register listener for drm key request.\n         * @param { 'keyRequest' } type - Type of the 'keyRequest' to listen for.\n         * @param { KeyRequestCallback } callback - Callback used to request drm key.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'keyRequest', callback: KeyRequestCallback): void;\n        /**\n         * Unregister listener for drm key request.\n         * @param { 'keyRequest' } type - Type of the 'keyRequest' to listen for.\n         * @param { KeyRequestCallback } callback - Callback used to request drm key.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'keyRequest', callback?: KeyRequestCallback): void;\n    }\n    /**\n     * A helper to enable a picker to select output devices\n     *\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 14\n     */\n    class AVCastPickerHelper {\n        /**\n         * The constructor used to create a AVCastPickerHelper object.\n         *\n         * @param { Context } context - represents the context.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 14\n         */\n        constructor(context: Context);\n        /**\n         * Pull up the avcastpicker based on the options.\n         *\n         * @param { AVCastPickerOptions } [options] - represents the options provided to  the picker.\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 14\n         */\n        select(options?: AVCastPickerOptions): Promise<void>;\n        /**\n         * Register picker state change callback.\n         * @param { 'pickerStateChange' } type - 'pickerStateChange'\n         * @param { Callback<AVCastPickerState> } callback - The callback used to handle picker state changed event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 14\n         */\n        on(type: 'pickerStateChange', callback: Callback<AVCastPickerState>): void;\n        /**\n         * Unregister picker state change callback.\n         * @param { 'pickerStateChange' } type - 'pickerStateChange'\n         * @param { Callback<AVCastPickerState> } callback - The callback used to handle picker state changed event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 14\n         */\n        off(type: 'pickerStateChange', callback?: Callback<AVCastPickerState>): void;\n    }\n    /**\n     * Audio capabilities.\n     *\n     * @typedef AudioCapabilities\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 20\n     */\n    interface AudioCapabilities {\n        /**\n         * Audio stream information.\n         * @type { Array<audio.AudioStreamInfo> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 20\n         */\n        readonly streamInfos: Array<audio.AudioStreamInfo>;\n    }\n    /**\n     * An option to make different picker usage\n     *\n     * @typedef AVCastPickerOptions\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 14\n     */\n    interface AVCastPickerOptions {\n        /**\n         * Indicates current session type to show different picker ui.\n         * If not set, default value is 'audio'.\n         *\n         * @type { ? AVSessionType }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 14\n         */\n        sessionType?: AVSessionType;\n    }\n    /**\n     * The callback of key request.\n     *\n     * @typedef { function } KeyRequestCallback\n     * @param { string } assetId - request key for current assetId\n     * @param { Uint8Array } requestData - media key request data sent to media key server\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 12\n     */\n    type KeyRequestCallback = (assetId: string, requestData: Uint8Array) => void;\n    /**\n     * Enumerates the cast display states.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n     * @atomicservice\n     * @since 12\n     */\n    enum CastDisplayState {\n        /**\n         * Screen off.\n         *\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        STATE_OFF = 1,\n        /**\n         * Screen on.\n         *\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        STATE_ON = 2\n    }\n    /**\n     * Define the information for extended display screen.\n     * @typedef CastDisplayInfo\n     * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n     * @atomicservice\n     * @since 12\n     */\n    interface CastDisplayInfo {\n        /**\n         * Display ID.\n         * The application can get more display information based on the same id from display interface.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        id: number;\n        /**\n         * Display name.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        name: string;\n        /**\n         * The state of display.\n         * @type { CastDisplayState }\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        state: CastDisplayState;\n        /**\n         * Display width, in pixels.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        width: number;\n        /**\n         * Display height, in pixels.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.ExtendedDisplayCast\n         * @atomicservice\n         * @since 12\n         */\n        height: number;\n    }\n    /**\n     * Define the device connection state.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Define the device connection state.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum ConnectionState {\n        /**\n         * A connection state indicating the device is in the process of connecting.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * A connection state indicating the device is in the process of connecting.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        STATE_CONNECTING = 0,\n        /**\n         * A connection state indicating the device is connected.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * A connection state indicating the device is connected.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        STATE_CONNECTED = 1,\n        /**\n         * The default connection state indicating the device is disconnected.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The default connection state indicating the device is disconnected.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        STATE_DISCONNECTED = 6\n    }\n    /**\n     * The pre-defined display tag by system.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    enum DisplayTag {\n        /**\n         * Indicate the AUDIO VIVID property of current media resource.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        TAG_AUDIO_VIVID = 1\n    }\n    /**\n     * The defination of decoder type.\n     * @enum { string }\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 19\n     */\n    enum DecoderType {\n        /**\n         * Defination of avc codec type.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        OH_AVCODEC_MIMETYPE_VIDEO_AVC = \"video/avc\",\n        /**\n         * Defination of hevc codec type.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        OH_AVCODEC_MIMETYPE_VIDEO_HEVC = \"video/hevc\",\n        /**\n         * Defination of audio vivid codec type.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        OH_AVCODEC_MIMETYPE_AUDIO_VIVID = \"audio/av3a\"\n    }\n    /**\n     * The defination of suggested resolution.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 19\n     */\n    enum ResolutionLevel {\n        /**\n         * Defination of 480P which typically resolution is 640*480.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        RESOLUTION_480P = 0,\n        /**\n         * Defination of 720P which typically resolution is 1280*720.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        RESOLUTION_720P = 1,\n        /**\n         * Defination of 1080P which typically resolution is 1920*1080.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        RESOLUTION_1080P = 2,\n        /**\n         * Defination of 2K which typically resolution is 2560*1440.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        RESOLUTION_2K = 3,\n        /**\n         * Defination of 4K which typically resolution is 4096*3840.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 19\n         */\n        RESOLUTION_4K = 4\n    }\n    /**\n     * The metadata of the current media.Used to set the properties of the current media file\n     * @interface AVMetadata\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * The metadata of the current media.Used to set the properties of the current media file\n     * @interface AVMetadata\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVMetadata {\n        /**\n         * Unique ID used to represent this media.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unique ID used to represent this media.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        assetId: string;\n        /**\n         * The title of this media, for display in media center.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The title of this media, for display in media center.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        title?: string;\n        /**\n         * The artist of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The artist of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        artist?: string;\n        /**\n         * The author of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The author of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        author?: string;\n        /**\n         * The name of play list which current media belongs to\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 12\n         */\n        avQueueName?: string;\n        /**\n         * The id of play list which current media belongs to, it should be an unique identifier in the application.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        avQueueId?: string;\n        /**\n         * The artwork of play list as a {@link PixelMap} or an uri formatted String,\n         * @type { ?(image.PixelMap | string) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        avQueueImage?: image.PixelMap | string;\n        /**\n         * The album of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The album of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        album?: string;\n        /**\n         * The writer of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The writer of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        writer?: string;\n        /**\n         * The composer of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        composer?: string;\n        /**\n         * The duration of this media, used to automatically calculate playback position\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The duration of this media, used to automatically calculate playback position\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        duration?: number;\n        /**\n         * The image of the media as a {@link PixelMap} or an uri formatted String,\n         * used to display in media center.\n         * @type { ?(image.PixelMap | string) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The image of the media as a {@link PixelMap} or an uri formatted String,\n         * used to display in media center.\n         * @type { ?(image.PixelMap | string) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        mediaImage?: image.PixelMap | string;\n        /**\n         * The image of the bundle icon as a {@link PixelMap}, no need to be set by application.\n         * @type { ?image.PixelMap }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 18\n         */\n        readonly bundleIcon?: image.PixelMap;\n        /**\n         * The publishDate of the media\n         * @type { ?Date }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        publishDate?: Date;\n        /**\n         * The subtitle of the media, used for display\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The subtitle of the media, used for display\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        subtitle?: string;\n        /**\n         * The discription of the media, used for display\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The discription of the media, used for display\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        description?: string;\n        /**\n         * The lyric of the media, it should be in standard lyric format\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        lyric?: string;\n        /**\n         * The single lyric text of the media, not including time prefix\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 17\n         */\n        singleLyricText?: string;\n        /**\n         * The previous playable media id.\n         * Used to tell the controller if there is a previous playable media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The previous playable media id.\n         * Used to tell the controller if there is a previous playable media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        previousAssetId?: string;\n        /**\n         * The next playable media id.\n         * Used to tell the controller if there is a next playable media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The next playable media id.\n         * Used to tell the controller if there is a next playable media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        nextAssetId?: string;\n        /**\n         * The protocols supported by this session, if not set, the default is {@link TYPE_CAST_PLUS_STREAM}.\n         * See {@link ProtocolType}\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The protocols supported by this session, if not set, the default is {@link TYPE_CAST_PLUS_STREAM}.\n         * See {@link ProtocolType}\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        filter?: number;\n        /**\n         * The drm schemes supported by this session which are represented by uuid.\n         * @type { ?Array<string> }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 12\n         */\n        drmSchemes?: Array<string>;\n        /**\n         * The supported skipIntervals when doing fast forward and rewind operation, the default is {@link SECONDS_15}.\n         * See {@link SkipIntervals}\n         * @type { ?SkipIntervals }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        skipIntervals?: SkipIntervals;\n        /**\n         * The display tags supported by application to be displayed on media center\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        displayTags?: number;\n    }\n    /**\n     * The description of the media for an item in the playlist of the session\n     * @interface AVMediaDescription\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * The description of the media for an item in the playlist of the session\n     * @interface AVMediaDescription\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVMediaDescription {\n        /**\n         * Unique ID used to represent this media.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unique ID used to represent this media.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        assetId: string;\n        /**\n         * The title of this media, for display in media center.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The title of this media, for display in media center.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        title?: string;\n        /**\n         * The subtitle of the media, used for display\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The subtitle of the media, used for display\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        subtitle?: string;\n        /**\n         * The description of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The description of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        description?: string;\n        /**\n         * The image of this media asset displayed in the media center.\n         * It can be a {@link PixelMap} or a URI formatted string,\n         * @type { ?(image.PixelMap | string) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The image of this media asset displayed in the media center.\n         * It can be a {@link PixelMap} or a URI formatted string,\n         * @type { ?(image.PixelMap | string) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        mediaImage?: image.PixelMap | string;\n        /**\n         * Any additional attributes that can be represented as key-value pairs\n         * @type { ?object }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        extras?: {\n            [key: string]: Object;\n        };\n        /**\n         * The type of this media, such as video, audio and so on.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The type of this media, such as video, audio and so on.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        mediaType?: string;\n        /**\n         * The size of this media.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The size of this media.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        mediaSize?: number;\n        /**\n         * The album title of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The album title of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        albumTitle?: string;\n        /**\n         * The album cover uri of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The album cover uri of this media\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        albumCoverUri?: string;\n        /**\n         * The lyric content of the media, it should be in standard lyric format\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The lyric content of the media, it should be in standard lyric format\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        lyricContent?: string;\n        /**\n         * The lyric uri of the media.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The lyric uri of the media.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        lyricUri?: string;\n        /**\n         * The artist of this media.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The artist of this media.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        artist?: string;\n        /**\n         * The uri of the media, used to locate the media in some special cases\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The uri of the media, used to locate the media in some special cases\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        mediaUri?: string;\n        /**\n         * Media file descriptor.\n         * @type { ?media.AVFileDescriptor }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Media file descriptor.\n         * @type { ?media.AVFileDescriptor }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        fdSrc?: media.AVFileDescriptor;\n        /**\n         * DataSource descriptor. The caller ensures the fileSize and callback are valid.\n         * @type { ?media.AVDataSrcDescriptor }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 12\n         */\n        dataSrc?: media.AVDataSrcDescriptor;\n        /**\n         * Pcm source type. The app should send pcm data directly to the system.\n         * @type { ?boolean}\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 20\n         */\n        pcmSrc?: boolean;\n        /**\n         * The drm scheme supported by this resource which is represented by uuid.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 12\n         */\n        drmScheme?: string;\n        /**\n         * The duration of this media\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The duration of this media\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        duration?: number;\n        /**\n         * Media start position, described by milliseconds.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Media start position, described by milliseconds.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        startPosition?: number;\n        /**\n         * Media credits position, described by milliseconds.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Media credits position, described by milliseconds.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        creditsPosition?: number;\n        /**\n         * Application name.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Application name.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        appName?: string;\n        /**\n         * The display tags supported by application to be displayed on media center\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The display tags supported by application to be displayed on media center\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        displayTags?: number;\n    }\n    /**\n     * The item in the playlist of the session\n     * @interface AVQueueItem\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * The item in the playlist of the session\n     * @interface AVQueueItem\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVQueueItem {\n        /**\n         * Sequence number of the item in the playlist.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Sequence number of the item in the playlist.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        itemId: number;\n        /**\n         * The media description of the item in the playlist.\n         * @type { ?AVMediaDescription }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The media description of the item in the playlist.\n         * @type { ?AVMediaDescription }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        description?: AVMediaDescription;\n    }\n    /**\n     * Used to indicate the playback state of the current media.\n     * If the playback state of the media changes, it needs to be updated synchronously\n     * @interface AVPlaybackState\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Used to indicate the playback state of the current media.\n     * If the playback state of the media changes, it needs to be updated synchronously\n     * @interface AVPlaybackState\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVPlaybackState {\n        /**\n         * Current playback state. See {@link PlaybackState}\n         * @type { ?PlaybackState }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current playback state. See {@link PlaybackState}\n         * @type { ?PlaybackState }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        state?: PlaybackState;\n        /**\n         * Current playback speed\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current playback speed\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        speed?: number;\n        /**\n         * Current playback position of this media. See {@link PlaybackPosition}\n         * @type { ?PlaybackPosition }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current playback position of this media. See {@link PlaybackPosition}\n         * @type { ?PlaybackPosition }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        position?: PlaybackPosition;\n        /**\n         * The current buffered time, the maximum playable position\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The current buffered time, the maximum playable position\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        bufferedTime?: number;\n        /**\n         * Current playback loop mode. See {@link LoopMode}\n         * @type { ?LoopMode }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current playback loop mode. See {@link LoopMode}\n         * @type { ?LoopMode }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        loopMode?: LoopMode;\n        /**\n         * Current Favorite Status\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current Favorite Status\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        isFavorite?: boolean;\n        /**\n         * Current active item id\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current active item id\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        activeItemId?: number;\n        /**\n         * Current player volume\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current player volume\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        volume?: number;\n        /**\n         * maximum  volume\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * maximum  volume\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        maxVolume?: number;\n        /**\n         * Current muted status\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Current muted status\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        muted?: boolean;\n        /**\n         * The duration of this media asset.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        duration?: number;\n        /**\n         * The video width of this media asset.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The video width of this media asset.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        videoWidth?: number;\n        /**\n         * The video height of this media asset.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The video height of this media asset.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        videoHeight?: number;\n        /**\n         * Current custom media packets\n         * @type { ?object }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Current custom media packets\n         * @type { ?object }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        extras?: {\n            [key: string]: Object;\n        };\n    }\n    /**\n     * Playback position definition\n     * @interface PlaybackPosition\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Playback position definition\n     * @interface PlaybackPosition\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface PlaybackPosition {\n        /**\n         * Elapsed time(position) of this media set by the app.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Elapsed time(position) of this media set by the app.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        elapsedTime: number;\n        /**\n         * Record the system time when elapsedTime is set.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Record the system time when elapsedTime is set.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        updateTime: number;\n    }\n    /**\n     * The metadata of the current call.\n     * @interface CallMetadata\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    /**\n     * The metadata of the current call.\n     * @typedef CallMetadata\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface CallMetadata {\n        /**\n         * The displayed user name of current call.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The displayed user name of current call.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        name?: string;\n        /**\n         * The phone number of current call.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The phone number of current call.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        phoneNumber?: string;\n        /**\n         * The displayed picture that represents a particular user.\n         * @type { ?image.PixelMap }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * The displayed picture that represents a particular user.\n         * @type { ?image.PixelMap }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        avatar?: image.PixelMap;\n    }\n    /**\n     * Used to indicate the call state of the current call.\n     * @interface AVCallState\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    /**\n     * Used to indicate the call state of the current call.\n     * @typedef AVCallState\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVCallState {\n        /**\n         * Current call state. See {@link CallState}\n         * @type { CallState }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Current call state. See {@link CallState}\n         * @type { CallState }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        state: CallState;\n        /**\n         * Current muted status.\n         * @type { boolean }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Current muted status.\n         * @type { boolean }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        muted: boolean;\n    }\n    /**\n     * Enumeration of current call state\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    /**\n     * Enumeration of current call state\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum CallState {\n        /**\n         * Idle state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Idle state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_IDLE = 0,\n        /**\n         * Incoming state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Incoming state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_INCOMING = 1,\n        /**\n         * Active state in calling.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Active state in calling.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_ACTIVE = 2,\n        /**\n         * Dialing state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Dialing state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_DIALING = 3,\n        /**\n         * Waiting state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Waiting state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_WAITING = 4,\n        /**\n         * Holding state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Holding state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_HOLDING = 5,\n        /**\n         * Disconnecting state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Disconnecting state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        CALL_STATE_DISCONNECTING = 6\n    }\n    /**\n     * cast category indicating different playback scenes\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @since 10\n     */\n    /**\n     * cast category indicating different playback scenes\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.AVCast\n     * @atomicservice\n     * @since 12\n     */\n    enum AVCastCategory {\n        /**\n         * The default cast type \"local\", media can be routed on the same device,\n         * including internal speakers or audio jack on the device itself, A2DP devices.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * The default cast type \"local\", media can be routed on the same device,\n         * including internal speakers or audio jack on the device itself, A2DP devices.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        CATEGORY_LOCAL = 0,\n        /**\n         * The remote category indicating the media is presenting on a remote device,\n         * the application needs to get an AVCastController to control remote playback.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * The remote category indicating the media is presenting on a remote device,\n         * the application needs to get an AVCastController to control remote playback.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        CATEGORY_REMOTE = 1\n    }\n    /**\n     * Device type definition\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Device type definition\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum DeviceType {\n        /**\n         * A device type indicating the route is on internal speakers or audio jack on the device itself.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * A device type indicating the route is on internal speakers or audio jack on the device itself.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        DEVICE_TYPE_LOCAL = 0,\n        /**\n         * A device type indicating the route is on a TV.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * A device type indicating the route is on a TV.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        DEVICE_TYPE_TV = 2,\n        /**\n         * A device type indicating the route is on a smart speaker.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 10\n         */\n        /**\n         * A device type indicating the route is on a smart speaker.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        DEVICE_TYPE_SMART_SPEAKER = 3,\n        /**\n         * A device type indicating the route is on a bluetooth device.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * A device type indicating the route is on a bluetooth device.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        DEVICE_TYPE_BLUETOOTH = 10\n    }\n    /**\n     * Device Information Definition\n     * @interface DeviceInfo\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Device Information Definition\n     * @interface DeviceInfo\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface DeviceInfo {\n        /**\n         * The playback type supported by the device. See {@link AVCastCategory}\n         * @type { AVCastCategory }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The playback type supported by the device. See {@link AVCastCategory}\n         * @type { AVCastCategory }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        castCategory: AVCastCategory;\n        /**\n         * Audio device id.The length of the audioDeviceId array is greater than 1\n         * if output to multiple devices at the same time.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Audio device id.The length of the audioDeviceId array is greater than 1\n         * if output to multiple devices at the same time.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        deviceId: string;\n        /**\n         * Device name. The length of the deviceName array is greater than 1\n         * if output to multiple devices at the same time.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Device name. The length of the deviceName array is greater than 1\n         * if output to multiple devices at the same time.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        deviceName: string;\n        /**\n         * device type.\n         * @type { DeviceType }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * device type.\n         * @type { DeviceType }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        deviceType: DeviceType;\n        /**\n         * Device manufacturer.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        manufacturer?: string;\n        /**\n         * Device model name.\n         * @type { ?string }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        modelName?: string;\n        /**\n         * The protocols supported by current device, can be union of {@link ProtocolType}.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 11\n         */\n        /**\n         * The protocols supported by current device, can be union of {@link ProtocolType}.\n         * @type { ?number }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        supportedProtocols?: number;\n        /**\n         * The drm capability supported by current device, each drm is represented by uuid.\n         * @type { ?Array<string> }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 12\n         */\n        supportedDrmCapabilities?: Array<string>;\n        /**\n         * When the device protocol is {@link ProtocolType.TYPE_HIGH_DEFINITION_AUDIO},\n         * the device audio capabilities will be presented to let application choose proper resource to play.\n         * @type { ?AudioCapabilities }\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @since 20\n         */\n        audioCapabilities?: AudioCapabilities;\n    }\n    /**\n     * Target Device Information Definition\n     * @interface OutputDeviceInfo\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Target Device Information Definition\n     * @interface OutputDeviceInfo\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface OutputDeviceInfo {\n        /**\n         * Arrays of device information\n         * @type { Array<DeviceInfo> }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Arrays of device information\n         * @type { Array<DeviceInfo> }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        devices: Array<DeviceInfo>;\n    }\n    /**\n     * Loop Play Mode Definition\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Loop Play Mode Definition\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum LoopMode {\n        /**\n         * The default mode is sequential playback\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The default mode is sequential playback\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOOP_MODE_SEQUENCE = 0,\n        /**\n         * Single loop mode\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Single loop mode\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOOP_MODE_SINGLE = 1,\n        /**\n         * List loop mode\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * List loop mode\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOOP_MODE_LIST = 2,\n        /**\n         * Shuffle playback mode\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Shuffle playback mode\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOOP_MODE_SHUFFLE = 3,\n        /**\n         * Custom playback mode supported by application\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Custom playback mode supported by application\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOOP_MODE_CUSTOM = 4\n    }\n    /**\n     * Supported skip intervals definition\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    enum SkipIntervals {\n        /**\n         * 10 seconds\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        SECONDS_10 = 10,\n        /**\n         * 15 seconds\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        SECONDS_15 = 15,\n        /**\n         * 30 seconds\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        SECONDS_30 = 30\n    }\n    /**\n     * Definition of current playback state\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Definition of current playback state\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum PlaybackState {\n        /**\n         * Initial state. The initial state of media file\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Initial state. The initial state of media file\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_INITIAL = 0,\n        /**\n         * Preparing state. Indicates that the media file is not ready to play,\n         * the media is loading or buffering\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Preparing state. Indicates that the media file is not ready to play,\n         * the media is loading or buffering\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_PREPARE = 1,\n        /**\n         * Playing state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Playing state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_PLAY = 2,\n        /**\n         * Paused state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Paused state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_PAUSE = 3,\n        /**\n         * Fast forwarding state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Fast forwarding state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_FAST_FORWARD = 4,\n        /**\n         * Rewinding state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Rewinding state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_REWIND = 5,\n        /**\n         * Stopped state.The server will clear the media playback position and other information.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Stopped state.The server will clear the media playback position and other information.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_STOP = 6,\n        /**\n         * Completed state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Completed state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_COMPLETED = 7,\n        /**\n         * Released state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Released state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_RELEASED = 8,\n        /**\n         * error state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * error state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_ERROR = 9,\n        /**\n         * Idle state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Idle state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_IDLE = 10,\n        /**\n         * Buffering state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Buffering state.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        PLAYBACK_STATE_BUFFERING = 11\n    }\n    /**\n     * The extra info object.\n     *\n     * @typedef { object } ExtraInfo\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 18\n     */\n    type ExtraInfo = {\n        [key: string]: Object;\n    };\n    /**\n     * Session controller,used to control media playback and get media information\n     * @interface AVSessionController\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Session controller,used to control media playback and get media information\n     * @typedef AVSessionController\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVSessionController {\n        /**\n         * Unique session Id\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unique session Id\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        readonly sessionId: string;\n        /**\n         * Get the playback status of the current session\n         * @param { AsyncCallback<AVPlaybackState> } callback - The triggered asyncCallback when (getAVPlaybackState).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getAVPlaybackState(callback: AsyncCallback<AVPlaybackState>): void;\n        /**\n         * Get the playback status of the current session\n         * @returns { Promise<AVPlaybackState> } (AVPlaybackState) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the playback status of the current session\n         * @returns { Promise<AVPlaybackState> } (AVPlaybackState) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVPlaybackState(): Promise<AVPlaybackState>;\n        /**\n         * Get the playback status of the current session\n         * @returns { AVPlaybackState } (AVPlaybackState) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the playback status of the current session\n         * @returns { AVPlaybackState } (AVPlaybackState) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVPlaybackStateSync(): AVPlaybackState;\n        /**\n         * Get the metadata of the current session\n         * @param { AsyncCallback<AVMetadata> } callback - The triggered asyncCallback when (getAVMetadata).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getAVMetadata(callback: AsyncCallback<AVMetadata>): void;\n        /**\n         * Get the metadata of the current session\n         * @returns { Promise<AVMetadata> } (AVMetadata) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the metadata of the current session\n         * @returns { Promise<AVMetadata> } (AVMetadata) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVMetadata(): Promise<AVMetadata>;\n        /**\n         * Get the metadata of the current session\n         * @returns { AVMetadata } (AVMetadata) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the metadata of the current session\n         * @returns { AVMetadata } (AVMetadata) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVMetadataSync(): AVMetadata;\n        /**\n         * Get the call status of the current session\n         * @param { AsyncCallback<AVCallState> } callback - The triggered asyncCallback when (getAVCallState).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        getAVCallState(callback: AsyncCallback<AVCallState>): void;\n        /**\n         * Get the call status of the current session\n         * @returns { Promise<AVCallState> } (AVCallState) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        getAVCallState(): Promise<AVCallState>;\n        /**\n         * Get the call metadata of the current session\n         * @param { AsyncCallback<CallMetadata> } callback - The triggered asyncCallback when (getCallMetadata).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        getCallMetadata(callback: AsyncCallback<CallMetadata>): void;\n        /**\n         * Get the call metadata of the current session\n         * @returns { Promise<CallMetadata> } (CallMetadata) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        getCallMetadata(): Promise<CallMetadata>;\n        /**\n         * Get the name of the playlist of the current session\n         * @param { AsyncCallback<string> } callback - The triggered asyncCallback when (getAVQueueTitle).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getAVQueueTitle(callback: AsyncCallback<string>): void;\n        /**\n         * Get the name of the playlist of the current session\n         * @returns { Promise<string> } (string) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the name of the playlist of the current session\n         * @returns { Promise<string> } (string) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVQueueTitle(): Promise<string>;\n        /**\n         * Get the name of the playlist of the current session\n         * @returns { string } (string) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the name of the playlist of the current session\n         * @returns { string } (string) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVQueueTitleSync(): string;\n        /**\n         * Get the playlist of the current session\n         * @param { AsyncCallback<Array<AVQueueItem>> } callback - The triggered asyncCallback when (getAVQueueItems).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getAVQueueItems(callback: AsyncCallback<Array<AVQueueItem>>): void;\n        /**\n         * Get the playlist of the current session\n         * @returns { Promise<Array<AVQueueItem>> } (Array<AVQueueItem>) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the playlist of the current session\n         * @returns { Promise<Array<AVQueueItem>> } (Array<AVQueueItem>) returned through promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVQueueItems(): Promise<Array<AVQueueItem>>;\n        /**\n         * Get the playlist of the current session\n         * @returns { Array<AVQueueItem> } (Array<AVQueueItem>) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the playlist of the current session\n         * @returns { Array<AVQueueItem> } (Array<AVQueueItem>) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getAVQueueItemsSync(): Array<AVQueueItem>;\n        /**\n         * Set the item in the playlist to be played\n         * @param { number } itemId - The serial number of the item to be played\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        skipToQueueItem(itemId: number, callback: AsyncCallback<void>): void;\n        /**\n         * Set the item in the playlist to be played\n         * @param { number } itemId - The serial number of the item to be played\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Set the item in the playlist to be played\n         * @param { number } itemId - The serial number of the item to be played\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        skipToQueueItem(itemId: number): Promise<void>;\n        /**\n         * Get output device information\n         * @param { AsyncCallback<OutputDeviceInfo> } callback - The triggered asyncCallback when (getOutputDevice).\n         * @throws { BusinessError } 600101 - Session service exception.\n         * @throws { BusinessError } 600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getOutputDevice(callback: AsyncCallback<OutputDeviceInfo>): void;\n        /**\n         * Get output device information\n         * @returns { Promise<OutputDeviceInfo> } (OutputDeviceInfo) returned through promise\n         * @throws { BusinessError } 600101 - Session service exception.\n         * @throws { BusinessError } 600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get output device information\n         * @returns { Promise<OutputDeviceInfo> } (OutputDeviceInfo) returned through promise\n         * @throws { BusinessError } 600101 - Session service exception.\n         * @throws { BusinessError } 600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getOutputDevice(): Promise<OutputDeviceInfo>;\n        /**\n         * Get output device information\n         * @returns { OutputDeviceInfo } (OutputDeviceInfo) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get output device information\n         * @returns { OutputDeviceInfo } (OutputDeviceInfo) returned\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getOutputDeviceSync(): OutputDeviceInfo;\n        /**\n         * Send media key event to this session\n         * @param { KeyEvent } event - The KeyEvent\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 600101 - Session service exception.\n         * @throws { BusinessError } 600102 - The session does not exist.\n         * @throws { BusinessError } 600103 - The session controller does not exist.\n         * @throws { BusinessError } 600105 - Invalid session command.\n         * @throws { BusinessError } 600106 - The session is not activated.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        sendAVKeyEvent(event: KeyEvent, callback: AsyncCallback<void>): void;\n        /**\n         * Send media key event to this session\n         * @param { KeyEvent } event - The KeyEvent\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 600101 - Session service exception.\n         * @throws { BusinessError } 600102 - The session does not exist.\n         * @throws { BusinessError } 600103 - The session controller does not exist.\n         * @throws { BusinessError } 600105 - Invalid session command.\n         * @throws { BusinessError } 600106 - The session is not activated.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Send media key event to this session\n         * @param { KeyEvent } event - The KeyEvent\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 600101 - Session service exception.\n         * @throws { BusinessError } 600102 - The session does not exist.\n         * @throws { BusinessError } 600103 - The session controller does not exist.\n         * @throws { BusinessError } 600105 - Invalid session command.\n         * @throws { BusinessError } 600106 - The session is not activated.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        sendAVKeyEvent(event: KeyEvent): Promise<void>;\n        /**\n         * Get the {@link WantAgent} of this session that can launch the session ability\n         * @param { AsyncCallback<WantAgent> } callback - The asyncCallback triggered when getting the WantAgent.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getLaunchAbility(callback: AsyncCallback<WantAgent>): void;\n        /**\n         * Get the {@link WantAgent} of this session that can launch the session ability\n         * @returns { Promise<WantAgent> } WantAgent promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the {@link WantAgent} of this session that can launch the session ability\n         * @returns { Promise<WantAgent> } WantAgent promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getLaunchAbility(): Promise<WantAgent>;\n        /**\n         * Get the adjusted playback position. The time automatically calculated by the system\n         * taking into account factors such as playback status, playback speed, and application update time.\n         * @returns { number } current playback position in ms.Note that the returns value of each call will be different.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get the adjusted playback position. The time automatically calculated by the system\n         * taking into account factors such as playback status, playback speed, and application update time.\n         * @returns { number } current playback position in ms.Note that the returns value of each call will be different.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getRealPlaybackPositionSync(): number;\n        /**\n         * Check if the current session is active\n         * @param { AsyncCallback<boolean> } callback - The triggered asyncCallback when (isActive).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        isActive(callback: AsyncCallback<boolean>): void;\n        /**\n         * Check if the current session is active\n         * @returns { Promise<boolean> } boolean promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Check if the current session is active\n         * @returns { Promise<boolean> } boolean promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        isActive(): Promise<boolean>;\n        /**\n         * Check if the current session is active\n         * @returns { boolean } boolean\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Check if the current session is active\n         * @returns { boolean } boolean\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        isActiveSync(): boolean;\n        /**\n         * Destroy the server controller\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        destroy(callback: AsyncCallback<void>): void;\n        /**\n         * Destroy the server controller\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Destroy the server controller\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        destroy(): Promise<void>;\n        /**\n         * Get commands supported by the current session\n         * @param { AsyncCallback<Array<AVControlCommandType>> } callback - The triggered asyncCallback when (getValidCommands).\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getValidCommands(callback: AsyncCallback<Array<AVControlCommandType>>): void;\n        /**\n         * Get commands supported by the current session\n         * @returns { Promise<Array<AVControlCommandType>> } array of AVControlCommandType promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get commands supported by the current session\n         * @returns { Promise<Array<AVControlCommandType>> } array of AVControlCommandType promise\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getValidCommands(): Promise<Array<AVControlCommandType>>;\n        /**\n         * Get commands supported by the current session\n         * @returns {Array<AVControlCommandType> } array of AVControlCommandType\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get commands supported by the current session\n         * @returns {Array<AVControlCommandType> } array of AVControlCommandType\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getValidCommandsSync(): Array<AVControlCommandType>;\n        /**\n         * Send control commands to this session\n         * @param { AVControlCommand } command - The command to be sent. See {@link AVControlCommand}\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600106 - The session is not activated.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        sendControlCommand(command: AVControlCommand, callback: AsyncCallback<void>): void;\n        /**\n         * Send control commands to this session\n         * @param { AVControlCommand } command - The command to be sent. See {@link AVControlCommand}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600106 - The session is not activated.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Send control commands to this session\n         * @param { AVControlCommand } command - The command to be sent. See {@link AVControlCommand}\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600106 - The session is not activated.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        sendControlCommand(command: AVControlCommand): Promise<void>;\n        /**\n         * Send common commands to this session\n         * @param { string } command - The command name to be sent.\n         * @param { object } args - The parameters of session event\n         * @param { AsyncCallback<void> } callback - The asyncCallback triggered when the command is executed successfully.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600106 - The session is not activated.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        sendCommonCommand(command: string, args: {\n            [key: string]: Object;\n        }, callback: AsyncCallback<void>): void;\n        /**\n         * Send common commands to this session\n         * @param { string } command - The command name to be sent.\n         * @param { object } args - The parameters of session event\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600106 - The session is not activated.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Send common commands to this session\n         * @param { string } command - The command name to be sent.\n         * @param { object } args - The parameters of session event\n         * @returns { Promise<void> } void promise when executed successfully\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600106 - The session is not activated.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        sendCommonCommand(command: string, args: {\n            [key: string]: Object;\n        }): Promise<void>;\n        /**\n         * Get custom media packets provided by the corresponding session\n         * @param { AsyncCallback<{[key: string]: Object}> } callback - The triggered asyncCallback when (getExtras).\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        getExtras(callback: AsyncCallback<{\n            [key: string]: Object;\n        }>): void;\n        /**\n         * Get custom media packets provided by the corresponding session\n         * @returns { Promise<{[key: string]: Object}> } the parameters of extras\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Get custom media packets provided by the corresponding session\n         * @returns { Promise<{[key: string]: Object}> } the parameters of extras\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types. 3.Parameter verification failed.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @throws { BusinessError } 6600107 - Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        getExtras(): Promise<{\n            [key: string]: Object;\n        }>;\n        /**\n         * Get extra information for remote device, such as volume level, connected devices.\n         * @param { string } extraEvent - the event name to get\n         * @returns { Promise<ExtraInfo> } the value returned for such event\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600102 - The session does not exist.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @throws { BusinessError } 6600105 - Invalid session command.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 18\n         */\n        getExtrasWithEvent(extraEvent: string): Promise<ExtraInfo>;\n        /**\n         * Register metadata changed callback\n         * @param { 'metadataChange' } type\n         * @param { Array<keyof AVMetadata> | 'all' } filter - The properties of {@link AVMetadata} that you cared about\n         * @param { function } callback - The callback used to handle metadata changed event.\n         * The callback function provides the {@link AVMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register metadata changed callback\n         * @param { 'metadataChange' } type\n         * @param { Array<keyof AVMetadata> | 'all' } filter - The properties of {@link AVMetadata} that you cared about\n         * @param { function } callback - The callback used to handle metadata changed event.\n         * The callback function provides the {@link AVMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'metadataChange', filter: Array<keyof AVMetadata> | 'all', callback: (data: AVMetadata) => void);\n        /**\n         * Unregister metadata changed callback\n         * @param { 'metadataChange' } type\n         * @param { function } callback - The callback used to handle metadata changed event.\n         * The callback function provides the {@link AVMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister metadata changed callback\n         * @param { 'metadataChange' } type\n         * @param { function } callback - The callback used to handle metadata changed event.\n         * The callback function provides the {@link AVMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'metadataChange', callback?: (data: AVMetadata) => void);\n        /**\n         * Register playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { Array<keyof AVPlaybackState> | 'all' } filter - The properties of {@link AVPlaybackState} that you cared about\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { Array<keyof AVPlaybackState> | 'all' } filter - The properties of {@link AVPlaybackState} that you cared about\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'playbackStateChange', filter: Array<keyof AVPlaybackState> | 'all', callback: (state: AVPlaybackState) => void);\n        /**\n         * Unregister playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister playback state changed callback\n         * @param { 'playbackStateChange' } type\n         * @param { function } callback - The callback used to handle playback state changed event.\n         * The callback function provides the {@link AVPlaybackState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void);\n        /**\n         * Register call metadata changed callback\n         * @param { 'callMetadataChange' } type - 'callMetadataChange'\n         * @param { Array<keyof CallMetadata> | 'all' } filter - The properties of {@link CallMetadata} that you cared about\n         * @param { Callback<CallMetadata> } callback - The callback used to handle call metadata changed event.\n         * The callback function provides the {@link CallMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Register call metadata changed callback\n         * @param { 'callMetadataChange' } type - 'callMetadataChange'\n         * @param { Array<keyof CallMetadata> | 'all' } filter - The properties of {@link CallMetadata} that you cared about\n         * @param { Callback<CallMetadata> } callback - The callback used to handle call metadata changed event.\n         * The callback function provides the {@link CallMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'callMetadataChange', filter: Array<keyof CallMetadata> | 'all', callback: Callback<CallMetadata>): void;\n        /**\n         * Unregister call metadata changed callback\n         * @param { 'callMetadataChange' } type - 'callMetadataChange'\n         * @param { Callback<CallMetadata> } callback - The callback used to handle call metadata changed event.\n         * The callback function provides the {@link CallMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Unregister call metadata changed callback\n         * @param { 'callMetadataChange' } type - 'callMetadataChange'\n         * @param { Callback<CallMetadata> } callback - The callback used to handle call metadata changed event.\n         * The callback function provides the {@link CallMetadata} parameter.\n         * It only contains the properties set in the filter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'callMetadataChange', callback?: Callback<CallMetadata>): void;\n        /**\n         * Register call state changed callback\n         * @param { 'callStateChange' } type - 'callStateChange'\n         * @param { Array<keyof AVCallState> | 'all' } filter - The properties of {@link AVCallState} that you cared about\n         * @param { Callback<AVCallState> } callback - The callback used to handle call state changed event.\n         * The callback function provides the {@link AVCallState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Register call state changed callback\n         * @param { 'callStateChange' } type - 'callStateChange'\n         * @param { Array<keyof AVCallState> | 'all' } filter - The properties of {@link AVCallState} that you cared about\n         * @param { Callback<AVCallState> } callback - The callback used to handle call state changed event.\n         * The callback function provides the {@link AVCallState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'callStateChange', filter: Array<keyof AVCallState> | 'all', callback: Callback<AVCallState>): void;\n        /**\n         * Unregister playback state changed callback\n         * @param { 'callStateChange' } type - 'callStateChange'\n         * @param { Callback<AVCallState> } callback - The callback used to handle call state changed event.\n         * The callback function provides the {@link AVCallState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 11\n         */\n        /**\n         * Unregister playback state changed callback\n         * @param { 'callStateChange' } type - 'callStateChange'\n         * @param { Callback<AVCallState> } callback - The callback used to handle call state changed event.\n         * The callback function provides the {@link AVCallState} parameter.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'callStateChange', callback?: Callback<AVCallState>): void;\n        /**\n         * Register current session destroyed callback\n         * @param { 'sessionDestroy' } type\n         * @param { function } callback - The callback used to handle current session destroyed event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register current session destroyed callback\n         * @param { 'sessionDestroy' } type\n         * @param { function } callback - The callback used to handle current session destroyed event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'sessionDestroy', callback: () => void);\n        /**\n         * Unregister current session destroyed callback\n         * @param { 'sessionDestroy' } type - 'sessionDestroy'\n         * @param { function } callback - The callback used to handle current session destroyed event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister current session destroyed callback\n         * @param { 'sessionDestroy' } type - 'sessionDestroy'\n         * @param { function } callback - The callback used to handle current session destroyed event.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'sessionDestroy', callback?: () => void);\n        /**\n         * Register the active state of this session changed callback\n         * @param { 'activeStateChange' } type - 'activeStateChange'\n         * @param { function } callback - The callback used to handle the active state of this session changed event.\n         * The callback function provides the changed session state.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register the active state of this session changed callback\n         * @param { 'activeStateChange' } type - 'activeStateChange'\n         * @param { function } callback - The callback used to handle the active state of this session changed event.\n         * The callback function provides the changed session state.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'activeStateChange', callback: (isActive: boolean) => void);\n        /**\n         * Unregister the active state of this session changed callback\n         * @param { 'activeStateChange' } type - 'activeStateChange'\n         * @param { function } callback - The callback used to handle the active state of this session changed event.\n         * The callback function provides the changed session state.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister the active state of this session changed callback\n         * @param { 'activeStateChange' } type - 'activeStateChange'\n         * @param { function } callback - The callback used to handle the active state of this session changed event.\n         * The callback function provides the changed session state.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'activeStateChange', callback?: (isActive: boolean) => void);\n        /**\n         * Register the valid commands of the session changed callback\n         * @param { 'validCommandChange' } type - 'validCommandChange'\n         * @param { function } callback - The callback used to handle the changes.\n         * The callback function provides an array of AVControlCommandType.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register the valid commands of the session changed callback\n         * @param { 'validCommandChange' } type - 'validCommandChange'\n         * @param { function } callback - The callback used to handle the changes.\n         * The callback function provides an array of AVControlCommandType.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'validCommandChange', callback: (commands: Array<AVControlCommandType>) => void);\n        /**\n         * Unregister the valid commands of the session changed callback\n         * @param { 'validCommandChange' } type - 'validCommandChange'\n         * @param { function } callback - The callback used to handle the changes.\n         * The callback function provides an array of AVControlCommandType.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister the valid commands of the session changed callback\n         * @param { 'validCommandChange' } type - 'validCommandChange'\n         * @param { function } callback - The callback used to handle the changes.\n         * The callback function provides an array of AVControlCommandType.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'validCommandChange', callback?: (commands: Array<AVControlCommandType>) => void);\n        /**\n         * Register session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600103 - The session controller does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600103 - The session controller does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'outputDeviceChange', callback: (state: ConnectionState, device: OutputDeviceInfo) => void): void;\n        /**\n         * Unregister session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600103 - The session controller does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister session output device change callback\n         * @param { 'outputDeviceChange' } type - Registration Type 'outputDeviceChange'\n         * @param { function } callback - Used to handle output device changed.\n         * The callback provide the new device info {@link OutputDeviceInfo} and related connection state {@link ConnectionState}.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception\n         * @throws { BusinessError } 6600103 - The session controller does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'outputDeviceChange', callback?: (state: ConnectionState, device: OutputDeviceInfo) => void): void;\n        /**\n         * Register session event callback\n         * @param { 'sessionEvent' } type - 'sessionEvent'\n         * @param { function } callback - The callback used to handle session event changed event.\n         * The callback function provides the event string and key-value pair parameters.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register session event callback\n         * @param { 'sessionEvent' } type - 'sessionEvent'\n         * @param { function } callback - The callback used to handle session event changed event.\n         * The callback function provides the event string and key-value pair parameters.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'sessionEvent', callback: (sessionEvent: string, args: {\n            [key: string]: Object;\n        }) => void): void;\n        /**\n         * Unregister session event callback\n         * @param { 'sessionEvent' } type - 'sessionEvent'\n         * @param { function } callback - Used to cancel a specific listener\n         * The callback function provides the event string and key-value pair parameters.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister session event callback\n         * @param { 'sessionEvent' } type - 'sessionEvent'\n         * @param { function } callback - Used to cancel a specific listener\n         * The callback function provides the event string and key-value pair parameters.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'sessionEvent', callback?: (sessionEvent: string, args: {\n            [key: string]: Object;\n        }) => void): void;\n        /**\n         * Register session playlist change callback\n         * @param { 'queueItemsChange' } type - Registration Type 'queueItemsChange'\n         * @param { function } callback - Used to handle playlist changed.\n         * The callback provides the new array of AVQueueItem {@link AVQueueItem}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register session playlist change callback\n         * @param { 'queueItemsChange' } type - Registration Type 'queueItemsChange'\n         * @param { function } callback - Used to handle playlist changed.\n         * The callback provides the new array of AVQueueItem {@link AVQueueItem}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'queueItemsChange', callback: (items: Array<AVQueueItem>) => void): void;\n        /**\n         * Unregister session playlist change callback\n         * @param { 'queueItemsChange' } type - Registration Type 'queueItemsChange'\n         * @param { function } callback - Used to handle playlist changed.\n         * The callback provides the new array of AVQueueItem {@link AVQueueItem}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister session playlist change callback\n         * @param { 'queueItemsChange' } type - Registration Type 'queueItemsChange'\n         * @param { function } callback - Used to handle playlist changed.\n         * The callback provides the new array of AVQueueItem {@link AVQueueItem}\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'queueItemsChange', callback?: (items: Array<AVQueueItem>) => void): void;\n        /**\n         * Register the name of session playlist change callback\n         * @param { 'queueTitleChange' } type - Registration Type 'queueTitleChange'\n         * @param { function } callback - Used to handle name of playlist changed.\n         * The callback provides the new name.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register the name of session playlist change callback\n         * @param { 'queueTitleChange' } type - Registration Type 'queueTitleChange'\n         * @param { function } callback - Used to handle name of playlist changed.\n         * The callback provides the new name.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'queueTitleChange', callback: (title: string) => void): void;\n        /**\n         * Unregister the name of session playlist change callback\n         * @param { 'queueTitleChange' } type - Registration Type 'queueTitleChange'\n         * @param { function } callback - Used to handle name of playlist changed.\n         * The callback provides the new name.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister the name of session playlist change callback\n         * @param { 'queueTitleChange' } type - Registration Type 'queueTitleChange'\n         * @param { function } callback - Used to handle name of playlist changed.\n         * The callback provides the new name.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'queueTitleChange', callback?: (title: string) => void): void;\n        /**\n         * Register the custom media packets change callback\n         * @param { 'extrasChange' } type - Registration Type 'extrasChange'\n         * @param { function } callback - Used to handle custom media packets changed.\n         * The callback provides the new media packets.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Register the custom media packets change callback\n         * @param { 'extrasChange' } type - Registration Type 'extrasChange'\n         * @param { function } callback - Used to handle custom media packets changed.\n         * The callback provides the new media packets.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        on(type: 'extrasChange', callback: (extras: {\n            [key: string]: Object;\n        }) => void): void;\n        /**\n         * Unregister the custom media packets change callback\n         * @param { 'extrasChange' } type - Registration Type 'extrasChange'\n         * @param { function } callback - Used to handle custom media packets changed.\n         * The callback provides the new media packets.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Unregister the custom media packets change callback\n         * @param { 'extrasChange' } type - Registration Type 'extrasChange'\n         * @param { function } callback - Used to handle custom media packets changed.\n         * The callback provides the new media packets.\n         * @throws { BusinessError } 401 - parameter check failed. 1.Mandatory parameters are left unspecified.\n         * 2.Incorrect parameter types.\n         * @throws { BusinessError } 6600101 - Session service exception.\n         * @throws { BusinessError } 6600103 - The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        off(type: 'extrasChange', callback?: (extras: {\n            [key: string]: Object;\n        }) => void): void;\n    }\n    /**\n     * The type of control command\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n     *     'setSpeed' | 'setLoopMode' | 'toggleFavorite' } AVControlCommandType\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * The type of control command, add new support 'playFromAssetId' | 'answer' | 'hangUp' | 'toggleCallMute'\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n     *     'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'answer' | 'hangUp' |\n     *     'toggleCallMute' } AVControlCommandType\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 11\n     */\n    /**\n     * The type of control command, add new support 'playFromAssetId' | 'answer' | 'hangUp' | 'toggleCallMute'\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n     *     'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'answer' | 'hangUp' |\n     *     'toggleCallMute' } AVControlCommandType\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    /**\n     * The type of control command, add new support 'playFromAssetId' | 'answer' | 'hangUp' | 'toggleCallMute'\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n    *     'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'answer' | 'hangUp' |\n    *     'toggleCallMute' | 'setTargetLoopMode' } AVControlCommandType\n    * @syscap SystemCapability.Multimedia.AVSession.Core\n    * @atomicservice\n    * @since 18\n    */\n    /**\n     * The type of control command, add new support 'playWithAssetId'\n     * @typedef { 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' |\n    *     'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'playWithAssetId' | 'answer' | 'hangUp' |\n    *     'toggleCallMute' | 'setTargetLoopMode' } AVControlCommandType\n    * @syscap SystemCapability.Multimedia.AVSession.Core\n    * @atomicservice\n    * @since 20\n    */\n    type AVControlCommandType = 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'playWithAssetId' | 'answer' | 'hangUp' | 'toggleCallMute' | 'setTargetLoopMode';\n    /**\n     * The definition of command to be sent to the session\n     * @interface AVControlCommand\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * The definition of command to be sent to the session\n     * @typedef AVControlCommand\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    interface AVControlCommand {\n        /**\n         * The command value {@link AVControlCommandType}\n         * @type { AVControlCommandType }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The command value {@link AVControlCommandType}\n         * @type { AVControlCommandType }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        command: AVControlCommandType;\n        /**\n         * parameter of the command. Whether this command requires parameters, see {@link AVSessionCommand}\n         * seek command requires a number parameter\n         * setSpeed command requires a number parameter\n         * setLoopMode command requires a {@link LoopMode} parameter.\n         * toggleFavorite command requires assetId {@link AVMetadata.assetId} parameter\n         * other commands need no parameter\n         * @type { ?(LoopMode | string | number) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * parameter of the command. Whether this command requires parameters, see {@link AVSessionCommand}\n         * seek command requires a number parameter\n         * setSpeed command requires a number parameter\n         * setLoopMode command requires a {@link LoopMode} parameter.\n         * toggleFavorite command requires assetId {@link AVMetadata.assetId} parameter\n         * other commands need no parameter\n         * @type { ?(LoopMode | string | number) }\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        parameter?: LoopMode | string | number;\n    }\n    /**\n     * Enumerates ErrorCode types, returns in BusinessError.code.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @since 10\n     */\n    /**\n     * Enumerates ErrorCode types, returns in BusinessError.code.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.AVSession.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum AVSessionErrorCode {\n        /**\n         * Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Session service exception.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_SERVICE_EXCEPTION = 6600101,\n        /**\n         * The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The session does not exist\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_SESSION_NOT_EXIST = 6600102,\n        /**\n         * The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The session controller does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_CONTROLLER_NOT_EXIST = 6600103,\n        /**\n         * The remote session connection failed.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The remote session connection failed.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_REMOTE_CONNECTION_ERR = 6600104,\n        /**\n         * Invalid session command.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Invalid session command.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_COMMAND_INVALID = 6600105,\n        /**\n         * The session is not activated.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The session is not activated.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_SESSION_INACTIVE = 6600106,\n        /**\n         * Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Too many commands or events.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_MESSAGE_OVERLOAD = 6600107,\n        /**\n         * Device connecting failed.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * Device connecting failed.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_DEVICE_CONNECTION_FAILED = 6600108,\n        /**\n         * The remote connection is not established.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @since 10\n         */\n        /**\n         * The remote connection is not established.\n         * @syscap SystemCapability.Multimedia.AVSession.Core\n         * @atomicservice\n         * @since 12\n         */\n        ERR_CODE_REMOTE_CONNECTION_NOT_EXIST = 6600109,\n        /**\n         * The error code for cast control is unspecified.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_UNSPECIFIED = 6611000,\n        /**\n         * An unspecified error occurs in the remote player.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_REMOTE_ERROR = 6611001,\n        /**\n         * The playback position falls behind the live window.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_BEHIND_LIVE_WINDOW = 6611002,\n        /**\n         * The process of cast control times out.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_TIMEOUT = 6611003,\n        /**\n         * The runtime check failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_RUNTIME_CHECK_FAILED = 6611004,\n        /**\n         * Cross-device data transmission is locked.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PLAYER_NOT_WORKING = 6611100,\n        /**\n         * The specified seek mode is not supported.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_SEEK_MODE_UNSUPPORTED = 6611101,\n        /**\n         * The position to seek to is out of the range of the media asset or the specified seek mode is not supported.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_ILLEGAL_SEEK_TARGET = 6611102,\n        /**\n         * The specified playback mode is not supported.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PLAY_MODE_UNSUPPORTED = 6611103,\n        /**\n         * The specified playback speed is not supported.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PLAY_SPEED_UNSUPPORTED = 6611104,\n        /**\n         * The action failed because either the media source device or the media sink device has been revoked.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DEVICE_MISSING = 6611105,\n        /**\n         * The parameter is invalid, for example, the url is illegal to play.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_INVALID_PARAM = 6611106,\n        /**\n         * Allocation of memory failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_NO_MEMORY = 6611107,\n        /**\n         * Operation is not allowed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_OPERATION_NOT_ALLOWED = 6611108,\n        /**\n         * An unspecified input/output error occurs.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_UNSPECIFIED = 6612000,\n        /**\n         * Network connection failure.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_NETWORK_CONNECTION_FAILED = 6612001,\n        /**\n         * Network timeout.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_NETWORK_CONNECTION_TIMEOUT = 6612002,\n        /**\n         * Invalid \"Content-Type\" HTTP header.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_INVALID_HTTP_CONTENT_TYPE = 6612003,\n        /**\n         * The HTTP server returns an unexpected HTTP response status code.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_BAD_HTTP_STATUS = 6612004,\n        /**\n         * The file does not exist.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_FILE_NOT_FOUND = 6612005,\n        /**\n         * No permission is granted to perform the IO operation.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_NO_PERMISSION = 6612006,\n        /**\n         * Access to cleartext HTTP traffic is not allowed by the app's network security configuration.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_CLEARTEXT_NOT_PERMITTED = 6612007,\n        /**\n         * Reading data out of the data bound.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_READ_POSITION_OUT_OF_RANGE = 6612008,\n        /**\n         * The media does not contain any contents that can be played.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_NO_CONTENTS = 6612100,\n        /**\n         * The media cannot be read, for example, because of dust or scratches.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_READ_ERROR = 6612101,\n        /**\n         * This resource is already in use.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_CONTENT_BUSY = 6612102,\n        /**\n         * The content using the validity interval has expired.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_CONTENT_EXPIRED = 6612103,\n        /**\n         * Using the requested content to play is not allowed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_USE_FORBIDDEN = 6612104,\n        /**\n         * The use of the allowed content cannot be verified.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_NOT_VERIFIED = 6612105,\n        /**\n         * The number of times this content has been used as requested has reached the maximum allowed number of uses.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_EXHAUSTED_ALLOWED_USES = 6612106,\n        /**\n         * An error occurs when sending packet from source device to sink device.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_IO_NETWORK_PACKET_SENDING_FAILED = 6612107,\n        /**\n         * Unspecified error related to content parsing.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PARSING_UNSPECIFIED = 6613000,\n        /**\n         * Parsing error associated with media container format bit streams.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PARSING_CONTAINER_MALFORMED = 6613001,\n        /**\n         * Parsing error associated with the media manifest.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PARSING_MANIFEST_MALFORMED = 6613002,\n        /**\n         * An error occurs when attempting to extract a file with an unsupported media container format\n         * or an unsupported media container feature.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PARSING_CONTAINER_UNSUPPORTED = 6613003,\n        /**\n         * Unsupported feature in the media manifest.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_PARSING_MANIFEST_UNSUPPORTED = 6613004,\n        /**\n         * Unspecified decoding error.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DECODING_UNSPECIFIED = 6614000,\n        /**\n         * Decoder initialization failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DECODING_INIT_FAILED = 6614001,\n        /**\n         * Decoder query failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DECODING_QUERY_FAILED = 6614002,\n        /**\n         * Decoding the media samples failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DECODING_FAILED = 6614003,\n        /**\n         * The format of the content to decode exceeds the capabilities of the device.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DECODING_FORMAT_EXCEEDS_CAPABILITIES = 6614004,\n        /**\n         * The format of the content to decode is not supported.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DECODING_FORMAT_UNSUPPORTED = 6614005,\n        /**\n         * Unspecified errors related to the audio renderer.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_AUDIO_RENDERER_UNSPECIFIED = 6615000,\n        /**\n         * Initializing the audio renderer failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_AUDIO_RENDERER_INIT_FAILED = 6615001,\n        /**\n         * The audio renderer fails to write data.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_AUDIO_RENDERER_WRITE_FAILED = 6615002,\n        /**\n         * Unspecified error related to DRM.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_UNSPECIFIED = 6616000,\n        /**\n         * The chosen DRM protection scheme is not supported by the device.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_SCHEME_UNSUPPORTED = 6616001,\n        /**\n         * Device provisioning failed.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_PROVISIONING_FAILED = 6616002,\n        /**\n         * The DRM-protected content to play is incompatible.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_CONTENT_ERROR = 6616003,\n        /**\n         * Failed to obtain a license.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_LICENSE_ACQUISITION_FAILED = 6616004,\n        /**\n         * The operation is disallowed by the license policy.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_DISALLOWED_OPERATION = 6616005,\n        /**\n         * An error occurs in the DRM system.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_SYSTEM_ERROR = 6616006,\n        /**\n         * The device has revoked DRM privileges.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_DEVICE_REVOKED = 6616007,\n        /**\n         * The DRM license being loaded into the open DRM session has expired.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_LICENSE_EXPIRED = 6616008,\n        /**\n         * An error occurs when the DRM processes the key response.\n         * @syscap SystemCapability.Multimedia.AVSession.AVCast\n         * @atomicservice\n         * @since 13\n         */\n        ERR_CODE_CAST_CONTROL_DRM_PROVIDE_KEY_RESPONSE_ERROR = 6616100\n    }\n}\nexport default avSession;\n",
}
export default FILE;